IITAA Rule 1: Accesskey attribute values should be unique.
Rule Mapping
- Status: Accepted
- Severity: Violation
- Priority: Priority 2
Markup References
- HTML4: a[accesskey]
- HTML4: button[accesskey]
- HTML4: input[accesskey]
- HTML4: select[accesskey]
- HTML4: textarea[accesskey]
Validation Code
Dependencies
None
Context
*[@accesskey]
Parameters
None
Code
function (ruleContext) {
var accesskey = util.getValueFromAttributes(ruleContext, ['accesskey'], "");
var xp = "//*[@accesskey='" + accesskey + "']";
var xpathResult = OpenAjax.a11y.xpath.evaluate(xp, ruleContext.ownerDocument, util.defaultNSResolver, OpenAjax.a11y.xpath.XPathResult.ANY_TYPE, null);
var count = 0;
var r = xpathResult.iterateNext();
while (r && count < 2) {
count++;
r = xpathResult.iterateNext();
} // endwhile
var passed = (count < 2);
return new ValidationResult(passed, [ruleContext], 'accesskey', '', []);
} // endfunction
>
var accesskey = util.getValueFromAttributes(ruleContext, ['accesskey'], "");
var xp = "//*[@accesskey='" + accesskey + "']";
var xpathResult = OpenAjax.a11y.xpath.evaluate(xp, ruleContext.ownerDocument, util.defaultNSResolver, OpenAjax.a11y.xpath.XPathResult.ANY_TYPE, null);
var count = 0;
var r = xpathResult.iterateNext();
while (r && count < 2) {
count++;
r = xpathResult.iterateNext();
} // endwhile
var passed = (count < 2);
return new ValidationResult(passed, [ruleContext], 'accesskey', '', []);
} // endfunction
>