ARIA attributes must conform to valid names
How to Fix the Problem
This rule checks for the presence of an unrecognized ARIA attribute, which prevents the attribute from functioning as intended.
Ensure all ARIA attributes (as opposed to the values inside of them) used are spelled correctly and correspond to valid ARIA attribute names.
For example, aria-hidden="true"
would pass, while
aria-visible="rute"
would fail.
Authoring Tools: Using authoring and debugging tools that compare attributes for widget roles, states, and properties to those supported in WAI-ARIA may check the validity of ARIA attributes automatically during development, but they cannot reliably eliminate the need for testing.
Related WAI-ARIA 1.1 W3C Recommendation Sections: To be certain you are using recognized attribute names and that they are spelled correctly, refer to the following sections for complete details of each ARIA attribute:
- Widget Attributes
- Live Region Attributes
- Drag-and-Drop Attributes
- Relationship Attributes
- Definitions of States and Properties (all aria-* attributes)
- Role Attribute
- State and Property Attributes
- State and Property Attribute Processing
- WAI-ARIA Attributes Module
- WAI-ARIA Attributes XML Schema Module
Why it Matters
If the developer uses a non-existent or misspelled ARIA attribute, the attribute will not be able to perform the accessibility function intended by the developer.
In order to allow assistive technologies to convey appropriate information to persons with disabilities, user interface elements intended to improve the accessibility and interoperability of web and application content must conform to properly spelled and current ARIA attributes.
When developers do not use attributes defined in the WAI-ARIA 1.1 W3C Recommendation, they do not properly convey user interface behaviors and structural information to assistive technologies in document-level markup.
Rule Description
ARIA attributes starting with aria-
must have valid names.
Referring to a misspelled attribute or to one that does not exist will result
in an invalid attribute and thus failure of this rule.
The Algorithm (in simple terms)
Checks all elements that contain WAI-ARIA attributes to ensure that the attributes are valid attributes.
"; if (!!window.MSInputMethodContext && !!document.documentMode ) document.getElementById("form_message").innerHTML = checkMark + msg + "
"; else document.getElementById("form_message").innerHTML = checkMarkAnimation + msg + "
"; } if(type === "warning" ) { document.getElementById("form_message").style.color = "#916216"; document.getElementById("form_message").innerHTML = warningIcon + msg + "
"; } if(type === "error" ) { document.getElementById("form_message").style.color = "#b40909"; document.getElementById("form_message").innerHTML = errorIcon + msg + "
"; } document.getElementById("form_message").tabIndex = -1; document.getElementById("form_message").focus(); } function clearMessage() { document.getElementById("form_message").innerHTML = ""; } function showFeedbackForm() { document.getElementById("feedback-form").className = ""; document.getElementById("feedback-info").className = "deque-hidden"; document.getElementById("yesButton").focus(); setTimeout((function (){ document.getElementById("yesButton").focus(); }), 5000); } function hideFeedbackForm() { if( feedbackData ) { document.getElementById("feedback-info").className = ""; showMessage("You have cancelled editing your earlier feedback.", "warning"); } document.getElementById("feedback-form").className = "deque-hidden"; document.getElementById("yesButton").style.display = ""; document.getElementById("noButton").style.display = ""; document.getElementById("noFeedback").className = "deque-hidden"; setTimeout((function() { clearMessage(); }), 4000); }