Rule: Use native HTML attributes when available

Rule ID Control 14
Conformance Required
Definition button, fieldset, input, option, select and textarea form controls must use native HTML attribute, instead of related ARIA attributes, when available.
Purpose
  • The native HTML form control attributes, including checked, disabled, invalid, multple and required are related to the ARIA attributes aria-checked, aria-disabled, aria-invalid, aria-multiselectable and aria-required attributes since they communicate the same information to assistive technologies.
  • If both are used on a HTML form control there is the possibility they might provide conflicting information to the assistive technology, for example the checked attribute is true and the aria-checked attribute is set to false.
  • The native HTML form attributes also effect browser behavior, where the ARIA attributes only effect information communicated to assistive technologies. For example, using the disabled attribute removes the form control from the tab sequence of the page, where setting aria-disabled=true does not effect tab sequence.
  • Browsers are required by the ARIA specification to always communicate the native HTML attribute information to assistive technologies when their is conflicting information.
Conformance Required
WCAG Success Criteria

Success Criterion 4.1.2 Name, Role, Value

Rule Category Forms
Rule Scope Element
Techniques
  • To avoid conflicting information to assistive technologies, use native HTML attributes, instead of related ARIA attributes.
  • Use checked attribute, instead of aria-checked, for the for input[type=checkbox] and input[type=radio elements.
  • Use disabled attribute, instead of aria-disabled, for the for button, fieldset, input, option, select and textarea elements.
  • Use invalid attribute, instead of aria-invalid, for the for button, fieldset, input, option, select and textarea elements.
  • Use mutiple attribute, instead of aria-multiselectable, for the for the select element.
  • Use required attribute, instead of aria-required, for the for button, fieldset, input, option, select and textarea elements.
Information Links