OAA WIDGET_10: Check that 'ARIA-' attributes are valid properties and states

Details

  • Check to see that ARIA attributes are valid.

Rulesets

WCAG 2.0 Requirement 4.1.2 Name, Role, Value
Status: Accepted
Severity: Violation
Priority: Priority 1
IITAA 1.0 13.1 Ensure that scripted functions are usable with assistive technologies.
Type:
Severity: Violation
Priority: Priority 1
Status: Accepted

Markup References

Validation Code

Message

The attribute %1$S is not a recognized ARIA attribute.

Dependencies

None

Context

*

Parameters

None

Code


   function (ruleContext) {
      var attrNameArr = new Array();

      // TY attributes is null when the node is a comment node
      if (!!ruleContext.attributes && ruleContext.attributes.length) {
            // for each aria attr check for nonexistant IDs
         for(var i=0; i< ruleContext.attributes.length; i++ ) {
            var attrName = ruleContext.attributes[i].name;
            if (OpenAjax.a11y.util.isDefinedAriaAttribute(ruleContext, attrName)) {
               var dataTypes = OpenAjax.a11y.aria.propertyDataTypes[attrName];
               if (!dataTypes) attrNameArr.push(attrName);
            }
         }
         var retMsg = new Array();
         retMsg.push (attrNameArr.toString());
      }
      var passed = attrNameArr.length == 0;
      return new ValidationResult(passed, [ruleContext], attrNameArr, '', retMsg);
   }