From 79088ffca736386a004372178b09c42fc93ffe10 Mon Sep 17 00:00:00 2001
From: Daniel Last updated 19 August 2021 Last updated 22 March 2026
Status of checks against the ARIA in HTML rules in the following implementations:
Implementation Report
- Conformance Checker Rule Implementations
The following is a list of rules which are presently in process of being implemented, but at this time are marked as 'at risk' due to a lack of two implementations.
As of 06-26-2021 all features have been verified to have at least two implementations. There are no features at risk.
+As of 22 March 2026, the features listed in this report have been verified against the current state of the specification. There are no features at risk due to lack of implementations.
Note: IBM presently does not return errors/warnings when explicit roles are specified on elements which natively expose that role implicitly.
@@ -140,14 +140,15 @@a without href
role=generic
- Any role
+ Any role, though generic should not be used.
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
address
role=group
- Any role
+ Any role, though group is NOT RECOMMENDED.
Global aria-* attributes and
@@ -219,6 +221,29 @@
area with or without hrefarea with or without hrefarea without href
+ role="generic"
+
+ Roles:
+ button or link. (generic is also allowed, but SHOULD NOT be used.)
+
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
+ any aria-* attributes applicable to the allowed roles.
+
article
@@ -263,12 +288,14 @@ presentation,
region
or search.
+ (complementary is also allowed, but is NOT RECOMMENDED.)
DPub Roles:
doc-dedication,
doc-example,
doc-footnote,
+ doc-glossary,
doc-pullquote,
doc-tip
ElementInternals.
- Otherwise no corresponding role.
+ Otherwise role=generic.
If role defined by ElementInternals,
no role.
- Otherwise, any role
+ Otherwise, any role, though generic should not be used.
- Global aria-* attributes and
+ Naming Prohibited if exposed as generic, or as another role which prohibits naming.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
body
role=generic
- No role
+ No role other than generic, which SHOULD NOT be used.
- Global aria-* attributes
- and any aria-* attributes applicable to the
- document role.
+ Naming Prohibited.
+ Otherwise, global aria-* attributes for the generic role,
+ with the exception that authors MUST NOT specify aria-hidden=true on the body element.
none.
- Global aria-* attributes and
- any aria-* attributes applicable to the allowed roles.
+ aria-hidden,
+ no other allowed aria-* attributes.
Roles:
checkbox,
+ combobox,
+ gridcell,
link,
menuitem,
menuitemcheckbox,
menuitemradio,
option,
radio,
+ separator,
+ slider,
switch
- or tab.
+ tab.,
+ or treeitem.
Global aria-* attributes and
@@ -536,7 +572,8 @@
role
- Global aria-* attributes
+ Naming Prohibited.
+ Otherwise, global aria-* attributes.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
- No role
+ No role other than listbox, which is NOT RECOMMENDED.
- Global aria-* attributes
- and any aria-* attributes applicable to the
- listbox role.
+ No aria-* attributes.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
- Any role
+ If a direct child of `dl`, only presentation or none.
+ Otherwise, any role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
application,
document,
img,
+ image,
presentation
or none.
@@ -918,7 +961,8 @@ none.
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
- If the figure has no figcaption descendant:
+ If the figure has a valid figcaption descendant:
- Any role
+ No role other than figure, which is not recommended.
- If the figure has a figcaption descendant:
+ If no figcaption descendant:
- No role.
-
Global aria-* attributes and
- any aria-* attributes applicable to the allowed roles.
+ any aria-* attributes applicable to the allowed roles, although figure is not recommended.
+
DPUB Roles:
+ doc-example.
doc-footnote.
- Global aria-* attributes and
+ Naming Prohibited if exposed as generic.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
textbox.
- Global aria-* attributes and
+ Naming Prohibited if exposed as generic.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
presentation.
- Global aria-* attributes and
+ Naming Prohibited if exposed as generic.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
hgroup
role=groupAny role.
Any role, though group is NOT RECOMMENDED.
Global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
@@ -1183,10 +1230,10 @@
html
role=document
+ role=generic
role or aria-* attributes
+ No role other than document or generic, which are not recommended.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
application,
document,
img,
+ image,
none
or presentation.
@@ -1245,7 +1294,10 @@ img with alt="some text"
role=img
+
+ If the img has non-empty alt (alt="some text") or an accessible name is provided by another img naming method, or the img has no alt and has not been provided a name:
+ role=img or image
+
@@ -1253,17 +1305,21 @@
button,
checkbox,
link,
+ math,
menuitem,
menuitemcheckbox,
menuitemradio,
+ meter,
option,
progressbar,
+ radio,
scrollbar,
separator,
slider,
switch,
tab or
treeitem
+ (img or image is also allowed, but NOT RECOMMENDED.)
DPub Role: @@ -1292,7 +1348,10 @@
alt=""
role=presentation
+
+ If the img has an empty alt (alt="") and lacks any other img naming methods:
+ role=none, role=presentation
+
role or aria-* attributes
@@ -1321,7 +1380,10 @@ img without alt attribute
role=img
+
+ If the img lacks an alt attribute and lacks any other img naming methods:
+ role=img or image
+
@@ -1351,14 +1413,20 @@
Roles:
+ checkbox,
+ combobox,
+ gridcell,
link,
menuitem,
menuitemcheckbox,
menuitemradio,
option,
radio,
+ separator,
+ slider,
switch
- or tab.
+ tab,
+ or treeitem.
Global aria-* attributes and
@@ -1388,7 +1456,7 @@
button if used with aria-pressed.
- Authors SHOULD NOT use the aria-checked attribute on input type=checkbox elements.
+ Authors MUST NOT use the aria-checked attribute on input type=checkbox elements.
Otherwise, any global aria-* attributes and
@@ -1538,13 +1606,21 @@
- Roles:
+ Roles (allowed but not recommended):
+ button,
+ checkbox,
+ gridcell,
link,
menuitem,
menuitemcheckbox,
menuitemradio,
+ option,
radio
- or switch.
+ separator,
+ slider,
+ switch,
+ tab,
+ or treeitem.
Global aria-* attributes and
@@ -1630,7 +1706,7 @@
menuitemradio
- Authors SHOULD NOT use the aria-checked attribute on input type=radio elements.
+ Authors MUST NOT use the aria-checked attribute on input type=radio elements.
Otherwise, any global aria-* attributes and
@@ -1681,11 +1757,25 @@
- No role
+ Roles (allowed but not recommended):
+ button,
+ checkbox,
+ gridcell,
+ link,
+ menuitem,
+ menuitemcheckbox,
+ menuitemradio,
+ option,
+ radio,
+ separator,
+ slider,
+ switch,
+ tab,
+ or treeitem.
Global aria-* attributes and
- any aria-* attributes applicable to the button role.
+ any aria-* attributes applicable to the allowed roles.
- No role
+ Roles (allowed but not recommended):
+ button,
+ checkbox,
+ gridcell,
+ link,
+ menuitem,
+ menuitemcheckbox,
+ menuitemradio,
+ option,
+ radio,
+ separator,
+ slider,
+ switch,
+ tab,
+ or treeitem.
Global aria-* attributes and
- any aria-* attributes applicable to the button role.
+ any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
- No role
+ If a label element is implicitly or explicitly associated with a labelable element,
+ no role
- global aria-* attributes
+ Otherwise, if the label is not associated with an element,
+ any role, though generic SHOULD NOT be used.
+
+ Naming Prohibited if exposed as generic, or as another role which prohibits naming.
+ Otherwise, global aria-* attributes.
role
- global aria-* attributes
+ Naming Prohibited.
+ Otherwise, global aria-* attributes.
li
role=listitem
+
+ If the `li` is a child of a list element
+ (`ul`, `ol`,
+ `menu`)
+ role=listitem.
+
+ Otherwise, if the `li` is not a child of a list element it is exposed as
+ a role=generic.
+
- Roles:
- menuitem,
- menuitemcheckbox,
- menuitemradio,
- option,
- none,
- presentation,
- radio,
- separator,
- tab
- or treeitem
+ No role other than listitem, which is NOT RECOMMENDED,
+ if the parent list element has an implicit or explicit list role.
- DPub Roles:
- doc-biblioentry,
- doc-endnote.
+ Otherwise, any role if the parent list element does not expose an implicit or explicit list role.
+
+ See `ul`, `ol`, or + `menu` for allowed roles for list elements.
Global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
+ Authors SHOULD NOT use the following deprecated DPub Roles:
+ doc-biblioentry,
+ doc-endnote.
+
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
Roles:
- directory,
group,
listbox,
menu,
@@ -2176,7 +2296,9 @@
Roles:
menu,
- menubar
+ menubar,
+ none,
+ presentation,
or tablist.
@@ -2246,7 +2368,6 @@
Roles:
- directory,
group,
listbox,
menu,
@@ -2355,7 +2476,8 @@
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role or aria-* attributes
+ No role
Authors MAY specify the aria-hidden attribute on the picture element.
+ Otherwise, no other allowed aria-* attributes.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
s
role=deletion
- Any role
+ Any role, though deletion is not recommended
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
search
+ role=search
+
+ Roles:
+ form,
+ group,
+ none,
+ presentation,
+ or region.
+
Global aria-* attributes and any aria-* attributes applicable to the allowed roles.
section
@@ -2600,6 +2753,7 @@ dialog,
document,
feed,
+ group,
log,
main,
marquee,
@@ -2720,6 +2874,32 @@ selectedcontent
+ role=generic
+
+ If used as a valid descendant of a select element: no role or aria-* attributes
+
+ Otherwise, any role if the element is used outside of its intended context as a child of the button part of a customizable select element,
+ though generic is NOT RECOMMENDED.
+
Naming Prohibited
+
+ Otherwise, global aria-* attributes
+ and any aria-* attributes applicable to the allowed roles.
+
slot
@@ -2743,7 +2923,8 @@ role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
summary
role=button
+ No corresponding role
- No role
+ No role if summary for its parent details element. any global aria-* attributes and any aria-* attributes applicable to the allowed roles.
- Global aria-* attributes and
- any aria-* attributes applicable to the button role.
+ If not summary for its parent details element, globalaria-* attributes, aria-disabled, and aria-haspopup attributes.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
Roles:
- directory,
group,
listbox,
menu,
@@ -3332,7 +3518,8 @@
role
- Global aria-* attributes and
+ Naming Prohibited.
+ Otherwise, global aria-* attributes and
any aria-* attributes applicable to the allowed roles.
- Any role
+ none or presentation.
- Global aria-* attributes and
- any aria-* attributes applicable to the allowed roles.
+ aria-hidden,
+ no other allowed global aria-* attributes.
Use the checked attribute on any element that is
allowed the checked attribute in HTML.
+ Use the indeterminate IDL attribute to indicate the "mixed" state for input type=checkbox elements.
- Authors SHOULD NOT use the aria-checked attribute on any element where the checkedness of the element can be in opposition to the current value of the aria-checked attribute.
+ Authors MUST NOT use the aria-checked attribute on any element where the checkedness, or the indeterminate checked value of the element can be in opposition to the current value of the aria-checked attribute.
- Authors MAY use the aria-checked attribute on any other element with a WAI-ARIA role which allows the attribute.
+ Authors MAY use the aria-checked attribute on any other element with a WAI-ARIA role which allows the attribute.
- Authors MAY use the aria-hidden attribute on any HTML element that allows global aria-* attributes, with the following exceptions:
+ Authors MAY use the aria-hidden attribute on any HTML element that allows global aria-* attributes, with the exception of focusable elements and the body element.
- Authors SHOULD NOT use the aria-hidden="true" attribute on any element which also has a hidden attribute.
+ It is generally NOT RECOMMENDED for authors to use aria-hidden="true" on any element which also has the hidden attribute specified. However, authors MUST NOT use aria-hidden="true" on any element which also has the hidden attribute specified in the until-found state.