Return to ARIA Sins and Tests, or the ARIA Accessibility Home Page

ARIA Overuse Messups


These are not necessarily "violations" but bad practice and or maybe lack of understanding of ARIA. Some of these are debatable but (I think) should at least be a warning.
  1. Navigation role is placed inside another element with role navigation
  2. Link (to about us) with a role navigation
  3. The HTML link to the Gettysburg Address also has a redundant role="link".
  4. Navigation role with only one link or clickable element
  5. Paragraph id="more about" labels itself. This make screen readers read it out twice.
  6. role="main" on an inline element (span)
  7. role="main" on small content
  8. More then one role="main"
  9. role="main" element embedded in element with role = "navigation"

Example (not clean)

Aria is useful but overuse, and incorrect use, will make it useless

ethical intelligence

about us | contact us | collaborations

Note that the look of the page is not effected by the missuse of the roles

From The Specification

7.4. Implicit WAI-ARIA Semantics

WAI-ARIA is designed to provide semantic information about objects when host languages lack native semantics for the object. WAI-ARIA is designed, however, to provide additional semantics for many host languages. Furthermore, host languages over time can evolve and provide new native features that correspond to WAI-ARIA features. Therefore, there are many situations in which WAI-ARIA semantics are redundant with host language semantics. These host language features can be viewed as having "implicit WAI-ARIA semantics". User agent processing of features with implicit WAI-ARIA semantics would be similar to the processing for the WAI-ARIA feature. The processing might not be identical because of lexical differences between the host language feature and the WAI-ARIA feature, but generally the user agent would expose the same information to the accessibility API. Features with implicit WAI-ARIA semantics satisfy WAI-ARIA structural requirements such as required owned elements, required states and properties, etc. and do not require explicit WAI-ARIA semantics to be provided. For example, if an element with the functionality already exists, such as a checkbox or radio button, use the native semantics of the host language. WAI-ARIA markup is only intended to be used to enhance the native semantics (e.g., indicating that the element is required with aria-required), or to change the semantics to a different purpose form the standard functionality of the element.

Accessibility 2.0

Managed by Lisa Seeman from Deque Systems