Indicate required form controls using the required attribute
Make sure indications of required form controls are conveyed using the required attribute
Before looking into options like aria-required properties to identify mandatory form controls, authors should always consider using the HTML required attribute, which natively conveys the information about the mandatory state of a form control to all user agents and assistive technologies. While this approach will work great for users of screen readers, it has the distinct disadvantage of not displaying visual indications to sighted users, and as such, other methods should generally be preferred. However, as most screen readers don’t read the asterisk symbol by default, resorting to the required attribute as a complementary mechanism to the popular asterisk symbol indicator can be a convenient way to make sure the mandatory indication is provided to both sighted and non-sighted users.
To do so, simply make sure the mandatory form control is assigned a required attribute. The attribute can either be empty, or set with a value of “required” (required=”required”). To avoid repetition in cases where the mandatory indication would be announced more than once, make sure that whenever the required attribute is used, that there are no text indications of the required [...]