validator
validator copied to clipboard
Many ARIA 1.2 changes missing from validator
The following code should not produce ARIA validation errors, since it contains valid roles and valid properties/states for each role:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
</head>
<body>
<!-- new roles in ARIA 1.2 -->
<div role="blockquote">Content</div>
<div role="figure"><div role="caption">Content</div></div>
<div role="code">Content</div>
<div role="deletion">Content</div>
<div role="emphasis">Content</div>
<div role="insertion">Content</div>
<div role="meter" title="name" aria-valuenow="0">Content</div>
<div role="paragraph">Content</div>
<div role="strong">Content</div>
<div role="subscript">Content</div>
<div role="superscript">Content</div>
<div role="time">Content</div>
<!-- allowed attributes in ARIA 1.2 -->
<div role='application' aria-activedescendant='id1'><span id='id1'></span>Content</div>
<div role='feed'><div role='article' aria-posinset='1' aria-setsize='1' >Content</div></div>
<div role='checkbox' aria-checked='false' aria-expanded='false' aria-readonly='false' aria-required='false'>Content</div>
<div role='table'>
<div role='row'>
<!-- aria-colspan, aria-rowspan and aria-rowindex in RNC schema, but aria-colindex missing -->
<div role='columnheader' aria-colspan='1' aria-rowspan='1' aria-rowindex='1' aria-colindex='1' >Content</div>
<div role='rowheader' aria-colspan='1' aria-rowspan='1' aria-rowindex='1' aria-colindex='1' >Content</div>
</div>
</div>
<div role='listbox' title="name" aria-readonly='true'><div role='option'>Content</div></div>
<div role='menu'><div role='menuitemcheckbox' aria-checked='false' aria-expanded='false' aria-posinset='1' aria-setsize='1' >Content</div></div>
<div role='menu'><div role='menuitemradio' aria-checked='false' aria-expanded='false' >Content</div></div>
<div role='radiogroup' aria-readonly='false'><div role='radio' aria-checked='false'>Content</div></div>
<div role='treegrid'><div role='row' aria-posinset='1' aria-setsize='1'><div role='cell'>Content</div></div>Content</div>
<div role='searchbox' title="name" aria-placeholder='enter text'>Content</div>
<!-- aria-valuemax and aria-valuemin are optional in ARIA 1.2 -->
<div role='scrollbar' aria-valuenow='0'>Content</div>
<!-- a focusable separator that can be moved allows aria-value* attrs-->
<div role='separator' tabindex='0' aria-valuemax='100' aria-valuemin='0' aria-valuenow='0' aria-valuetext='Zero'>Content</div>
<!-- aria-valuemax and aria-valuemin are optional in ARIA 1.2 -->
<div role='slider' title="name" aria-valuenow='0' aria-readonly='false'>Content</div>
<!-- aria-valuenow, aria-valuemax and aria-valuemin are optional in ARIA 1.2 -->
<div role='spinbutton' title="name" aria-readonly='false' aria-activedescendant='id2'><span id='id2'></span>Content</div>
<div role='switch' aria-checked='false' aria-expanded='false' aria-readonly='false' aria-required='false'>Content</div>
<div role='textbox' title="name" aria-placeholder='enter text'>Content</div>
</body>
</html>
This PR should fix these issues: https://github.com/validator/validator/pull/1751 (@sideshowbarker this was the patch I mentioned last year at TPAC)