diff --git a/index.html b/index.html index 94bf3891..dd10b902 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ { name: "Steve Faulkner", company: "TPGi", - companyURL: "https://www.tpgi.com/", + companyURL: "https://vispero.com/", w3cid: "35007", retiredDate: "2023-04-28" }, @@ -27,18 +27,16 @@ }, ], previousMaturity: "REC", - perEnd: "2022-09-01", previousPublishDate: "2021-12-09", implementationReportURI: "https://w3c.github.io/html-aria/results/implementation-results.html", github: "w3c/html-aria/", maxTocLevel: 2, shortName: "html-aria", specStatus: "ED", - revisionTypes: ["addition", "correction"], group: "aria", - wgPublicList: "public-webapps", + wgPublicList: "public-aria", xref: true, - errata: "https://github.com/w3c/html-aria/issues/new/", + errata: "https://github.com/w3c/html-aria/issues/", }; @@ -59,155 +57,6 @@ ARIA in HTML is an [[HTML]] specification module. Any HTML features, conformance requirements, or terms that this specification module makes reference to, but does not explicitly define, are defined by the [[HTML|HTML Standard]].

-

- Since this specification become a W3C Recommendation on 09 December 2021, - the following substantive additions and/or corrections have been proposed: -

- -

- Reviewers of the document can identify candidate additions - and/or corrections by their distinctive styling in the document: -

-

Candidate corrections are marked in the document.

-

Candidate additions are marked in the document.

@@ -225,25 +74,25 @@

of HTML are defined by the [[html-aam-1.0|HTML Accessibility API Mappings]] specification.

- Any constraints for the use of ARIA features in HTML defined by this specification - are intended to prevent authors from making assistive technology products report + Any constraints for the use of ARIA features in HTML defined by this specification + are intended to prevent authors from making assistive technology products report nonsensical user interface (UI) information that does not represent the actual UI of the document.

- Authors MUST NOT use the ARIA `role` and `aria-*` attributes in a manner that conflicts - with the semantics described in the [[[#docconformance]]] and [[[#docconformance-attr]]] - tables. It is NOT RECOMMENDED for authors to set the ARIA `role` and `aria-*` attributes - to values that match the implicit ARIA semantics defined in either table. + Authors MUST NOT use the ARIA `role` and `aria-*` attributes in a manner that conflicts + with the semantics described in the [[[#docconformance]]] and [[[#docconformance-attr]]] + tables. It is NOT RECOMMENDED for authors to set the ARIA `role` and `aria-*` attributes + to values that match the implicit ARIA semantics defined in either table. Doing so is unnecessary and can potentially lead to unintended consequences.

ARIA semantics that extend and diverge from HTML

- Through the use of ARIA, authors can specify semantics that go beyond the current - capabilities of native HTML. This can be very useful, as it provides authors the opportunity - to create widgets, or expose specific accessible states and properties to native HTML features + Through the use of ARIA, authors can specify semantics that go beyond the current + capabilities of native HTML. This can be very useful, as it provides authors the opportunity + to create widgets, or expose specific accessible states and properties to native HTML features which would not be possible by the use of HTML alone.

@@ -252,8 +101,8 @@

ARIA semantics that extend and diverge from HTML

attribute, allowing for an aural UI that will match the visual presentation of the control.

- In the following example, a `button` element allows for a user to toggle the state of a - setting within a web application. The `aria-pressed` attribute is used to + In the following example, a `button` element allows for a user to toggle the state of a + setting within a web application. The `aria-pressed` attribute is used to augment the `button` element. When in the "pressed" state that information can be exposed to users of assistive technologies.

@@ -261,40 +110,40 @@

ARIA semantics that extend and diverge from HTML

<button aria-pressed=true>...</button>

- There are also situations where certain `aria-*` attributes are allowed for use on elements + There are also situations where certain `aria-*` attributes are allowed for use on elements with specific `role`s, while the equivalent native attribute is currently not valid in HTML itself.

- For instance, HTML has no direct concept of a disabled hyperlink (`a href` element). - Constructs such as `<a href="..." disabled> ... </a>` are not valid, - and will not be conveyed to assistive technologies. + For instance, HTML has no direct concept of a disabled hyperlink (`a href` element). + Constructs such as `<a href="..." disabled> ... </a>` are not valid, + and will not be conveyed to assistive technologies.

ARIA diverges from HTML in this regard and does allow for an `aria-disabled` attribute to be specified on an element with an explicit `role=link`. If an author were to specify an `aria-disabled=true` on an HTML hyperlink, user agents would not functionally - treat the hyperlink any differently (it would still be clickable/operable), however it + treat the hyperlink any differently (it would still be clickable/operable), however it would be exposed to assistive technologies as being in the disabled state.

- Similarly, while native HTML `option` elements that are descendants of a `select` can - only be set as being `selected`, elements with an explicit `option` role can not only + Similarly, while native HTML `option` elements that are descendants of a `select` can + only be set as being `selected`, elements with an explicit `option` role can not only allow the equivalent `aria-selected`, but also the `aria-checked` attribute, supporting widgets/constructs that go beyond the capabilities of a native `select` element.

- Unfortunately, in these situations where ARIA and HTML have feature parity, but diverge - in allowances, it can create for a misalignment in support, if not also user experiences. + Unfortunately, in these situations where ARIA and HTML have feature parity, but diverge + in allowances, it can create for a misalignment in support, if not also user experiences. In situations where ARIA allows a feature not supported by HTML, it will often - be in the author's and ultimately the user's best interest to instead implement as a + be in the author's and ultimately the user's best interest to instead implement as a fully custom ARIA widget.

In the following example, a hyperlink needs to be communicated as being in the disabled state. HTML does not allow for the use of the `disabled` attribute on a hyperlink, - and using `aria-disabled=true` would communicate the hyperlink as being disabled to - assistive technologies, but would not actually disable the element. The most effective way - to both communicate and actually disable a hyperlink would be to remove the `href` from + and using `aria-disabled=true` would communicate the hyperlink as being disabled to + assistive technologies, but would not actually disable the element. The most effective way + to both communicate and actually disable a hyperlink would be to remove the `href` from the [^a^] element, creating a placeholder. Then, ARIA can be applied to this placeholder link to communicate the element's intended role and state.

@@ -318,16 +167,16 @@

As an example, the following uses a `role=heading` on a [^button^] element. This is - not allowed, because the `button` element has default functionality that conflicts with user + not allowed, because the `button` element has default functionality that conflicts with user expectations for the heading role.

           <button role="heading">search</button>
         

- An author would need to take additional steps to ensure the default functionality and presentation of - the `button` was removed, and even doing so may still not be enough to fully suppress the element's - implicit features depending on how the user chooses to engage with the web page. E.g., by turning on + An author would need to take additional steps to ensure the default functionality and presentation of + the `button` was removed, and even doing so may still not be enough to fully suppress the element's + implicit features depending on how the user chooses to engage with the web page. E.g., by turning on Windows high contrast themes, or viewing the web page in a browser's reader mode.

@@ -337,10 +186,10 @@

The following example illustrates a [^button^] element which has also been - provided an explicit `role=button`. Specifying this role is unnecessary, as a "button" + provided an explicit `role=button`. Specifying this role is unnecessary, as a "button" element is already exposed with an implicit `button` role. In practice this particular - instance of redundancy will likely not have unforeseen side effects, other than - unnecessarily making the markup more verbose, and incorrectly signaling to other authors + instance of redundancy will likely not have unforeseen side effects, other than + unnecessarily making the markup more verbose, and incorrectly signaling to other authors that this practice is useful. Please review the section [[[#side-effects]]] for an example of where specifying unnecessary roles can be problematic.

@@ -350,7 +199,7 @@

Similarly, the following uses a `role=group` on a [^fieldset^] element, and a `role=main` on a [^main^] element. - This is unnecessary, because the `fieldset` element is implicitly exposed as a `role=group`, as is the `main` element + This is unnecessary, because the `fieldset` element is implicitly exposed as a `role=group`, as is the `main` element implicitly exposed as a `role=main`.

@@ -360,9 +209,9 @@ 

<main role="main">...</main>

- The following uses a `role=list` on an [^ul^] element. As the `ul` element has an implicit role of `list`, + The following uses a `role=list` on an [^ul^] element. As the `ul` element has an implicit role of `list`, explicitly adding the role would generally be considered redundant. However, some user agents suppress a list's - implicit ARIA semantics if the list markers are removed from the visual presentation of the list items. + implicit ARIA semantics if the list markers are removed from the visual presentation of the list items. Generally the redundant declaration of an element's implicit role would not be recommended, but in specific situations such as this, and where the role is necessary to expose, authors can explicitly add the role.

@@ -409,8 +258,8 @@

Adhere to the rules of ARIA

using the `generic` role as its intended purpose is for use by implementors of user agents.

- In the following example, rather than using a `generic` role, authors are advised to use a `div` in - place of the `article` element. If changing the HTML element is not possible, specifying a role of + In the following example, rather than using a `generic` role, authors are advised to use a `div` in + place of the `article` element. If changing the HTML element is not possible, specifying a role of `presentation` or `none` would be acceptable alternatives to remove the implicit role of the `article`.

@@ -418,7 +267,7 @@ 

Adhere to the rules of ARIA

<article role="generic" ...>...</article>

- Additionally, ARIA specifically mentions in Conflicts with Host Language Semantics + Additionally, ARIA specifically mentions in Conflicts with Host Language Semantics that if authors use both native HTML features for exposing states and properties as well as their ARIA counterparts, then the host language features take priority over the explicit ARIA attributes that are also used.

@@ -443,12 +292,12 @@

Adhere to the rules of HTML

For instance, in the following example an author has specified a role of `link` on a `div` element. While HTML allows for a hyperlink (exposed as a `role=link`) to be a descendant of a `p` element, the HTML parser does not - allow a `div` to be a descendant of a `p` element. + allow a `div` to be a descendant of a `p` element.

           <!-- Do not do this! -->
           <p>
-            ... <div role=link tabindex=0>...</div> ... 
+            ... <div role=link tabindex=0>...</div> ...
           </p>
         

@@ -457,10 +306,9 @@

Adhere to the rules of HTML

           <!-- The previous example's markup will render as follows -->
           <p>...</p>
-          <div role=link tabindex=0>...</div> 
-          ... 
+          <div role=link tabindex=0>...</div>
+          ...
           <p></p>
-          
           <!-- Instead of a div, use a span. Spans are allowed descendants of p elements! -->
           <p>
             ... <span role=link tabindex=0>...</span> ...
@@ -478,44 +326,42 @@ 

Document conformance requirements for use of ARIA attributes in HTML

- The following table provides normative per-element document conformance requirements for the - use of ARIA markup in HTML documents. Additionally, it identifies the implicit ARIA semantics - that apply to [=HTML elements=]. The implicit ARIA semantics of these elements are defined + The following table provides normative per-element document conformance requirements for the + use of ARIA markup in HTML documents. Additionally, it identifies the implicit ARIA semantics + that apply to [=HTML elements=]. The implicit ARIA semantics of these elements are defined in [[html-aam-1.0|HTML AAM]].

- Each language feature (element) in a cell in the first column implies the ARIA semantics - (role, states, and properties) given in the cell in the second column of the same row. + Each language feature (element) in a cell in the first column implies the ARIA semantics + (role, states, and properties) given in the cell in the second column of the same row. The third cell in each row defines the ARIA `role` values and `aria-*` attributes which authors MAY specify on the element. Where a cell in the third column includes the term Any `role` - it indicates that any `role` value MAY be used on the element. However, - it is NOT RECOMMENDED for authors to specify the implicit role of the element, the `generic` role, or a role - deprecated by ARIA on these elements. - If a cell in the third column includes the term No `role` it indicates - that authors MUST NOT overwrite the implicit ARIA semantics, or native semantics of the HTML element. + it indicates that any `role` value MAY be used on the element. However, + it is NOT RECOMMENDED for authors to specify the implicit role of the element, the `generic` role, or a role + deprecated by ARIA on these elements. + If a cell in the third column includes the term No `role` it indicates + that authors MUST NOT overwrite the implicit ARIA semantics, or native semantics of the HTML element.

-

- [[wai-aria-1.2|WAI-ARIA]] identifies roles which have + [[wai-aria-1.2|WAI-ARIA]] identifies roles which have prohibited states and properties. These roles do not allow certain WAI-ARIA attributes to be specified by authors. HTML elements which expose these implicit WAI-ARIA roles also prohibit authors from specifying these WAI-ARIA attributes.

- Elements which are identified as Naming prohibited are those which authors MUST NOT specify an - `aria-label` or `aria-labelledby` attribute, unless the element allows for its implicit role to be overwritten + Elements which are identified as Naming prohibited are those which authors MUST NOT specify an + `aria-label` or `aria-labelledby` attribute, unless the element allows for its implicit role to be overwritten by an explicit WAI-ARIA role which allows naming from authors. For more information see [[[#docconformance-naming]]].

-

While setting an ARIA `role` and/or `aria-*` attribute that matches the implicit ARIA semantics - is NOT RECOMMENDED, in some situations explicitly setting these attributes can be helpful – for instance, + is NOT RECOMMENDED, in some situations explicitly setting these attributes can be helpful – for instance, for user agents that do not expose implicit ARIA semantics for certain elements.

While it is conforming to use [[[dpub-aria-1.1]]] `role` values as outlined in the following table, the use of these roles - is not intended for implementation of websites. If using these role for purposes beyond the scope of the digital publishing + is not intended for implementation of websites. If using these role for purposes beyond the scope of the digital publishing industry, further manual testing will be necessary to ensure the intended experience is provided to users.

@@ -576,7 +422,7 @@

`a` element with an `href` attribute.

- If a link needs to be programmatically communicated as "disabled", + If a link needs to be programmatically communicated as "disabled", remove the `href` attribute.
@@ -592,7 +438,7 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles. @@ -610,9 +456,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles. + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -628,7 +474,7 @@

Any `role`, though `group` is NOT RECOMMENDED.

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -645,8 +491,8 @@

No `role` other than link, which is NOT RECOMMENDED.

- Global `aria-*` attributes - and any `aria-*` attributes applicable to the + Global `aria-*` attributes + and any `aria-*` attributes applicable to the `link` role.

@@ -659,7 +505,6 @@

role=generic

@@ -692,7 +536,7 @@

or `region`. (article is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -719,12 +563,12 @@

`doc-dedication`, `doc-example`, `doc-footnote`, - `doc-glossary`, + `doc-glossary`, `doc-pullquote` or `doc-tip`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -742,8 +586,8 @@

`application`

- Global `aria-*` attributes - and any `aria-*` attributes applicable to the + Global `aria-*` attributes + and any `aria-*` attributes applicable to the `application` role.

@@ -762,18 +606,18 @@

@@ -789,9 +633,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -820,9 +664,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -838,9 +682,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -857,7 +701,7 @@

Any `role`, though `blockquote` is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -873,12 +717,10 @@

No `role` other than generic, which SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes - - allowed for the `generic` role, with the exception that authors MUST NOT specify `aria-hidden=true` on the `body` element. - + Otherwise, global `aria-*` attributes + allowed for the `generic` role, with the exception that authors MUST NOT specify `aria-hidden=true` on the `body` element.

@@ -895,7 +737,7 @@

`none` or `presentation`

-

+

Authors MAY specify the `aria-hidden` attribute on the `br` element. Otherwise, no other allowed `aria-*` attributes.

@@ -913,24 +755,23 @@

Roles: `checkbox`, - `combobox`, - `gridcell`, + `combobox`, + `gridcell`, `link`, `menuitem`, `menuitemcheckbox`, `menuitemradio`, `option`, `radio`, - - `separator`, - `slider`, + `separator`, + `slider`, `switch`, `tab`, - or `treeitem`. + or `treeitem`. (button is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.


@@ -950,7 +791,7 @@

Any `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -966,7 +807,7 @@

No `role` other than `caption`, which is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

Otherwise, global `aria-*` attributes.

@@ -983,9 +824,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1001,9 +842,9 @@

Any `role`, though `code` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1045,9 +886,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1060,14 +901,12 @@

role=listbox

@@ -1082,7 +921,7 @@

No `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `definition` role.

@@ -1098,9 +937,9 @@

Any `role`, though `deletion` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1117,7 +956,7 @@

No `role` other than group, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `group` role.

@@ -1134,7 +973,7 @@

Any `role`, though term is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1152,7 +991,7 @@

`alertdialog`. (dialog is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `dialog` role.

@@ -1165,15 +1004,15 @@

role=generic

@@ -1194,7 +1033,7 @@

or `presentation`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1212,7 +1051,7 @@

`listitem`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1228,9 +1067,9 @@

Any `role`, though `emphasis` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1273,7 +1112,7 @@

or `radiogroup`. (group is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1292,9 +1131,9 @@

`none` or `presentation`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1310,7 +1149,7 @@

If the `figure` has a valid `figcaption` descendant:
- No `role` other than figure, + No `role` other than figure, which is NOT RECOMMENDED.

@@ -1323,7 +1162,7 @@

Any `role`, though figure is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1361,9 +1200,9 @@

DPub Role: `doc-footnote`

-

Naming Prohibited if exposed as `generic`.

+

Naming Prohibited if exposed as `generic`.

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1385,7 +1224,7 @@

or `search`. (form is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1407,7 +1246,7 @@

@@ -1455,7 +1294,7 @@

`doc-subtitle`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1481,7 +1320,7 @@

If not a descendant of an `article`, `aside`, `main`, `nav` or `section` element, or an element with `role=article`, - `complementary`, `main`, `navigation` or `region` then + `complementary`, `main`, `navigation` or `region` then role=banner

@@ -1502,9 +1341,9 @@

Otherwise, role=generic is also allowed, but SHOULD NOT be used.)

-

Naming Prohibited if exposed as `generic`.

+

Naming Prohibited if exposed as `generic`.

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1521,7 +1360,7 @@

Any `role`, though `group` is NOT RECOMMENDED.

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1544,7 +1383,7 @@

`doc-pagebreak`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `separator` role.

@@ -1558,7 +1397,7 @@

@@ -1609,13 +1448,11 @@

@@ -1625,26 +1462,20 @@

`button`, `checkbox`, `link`, - - `math`, - + `math`, `menuitem`, `menuitemcheckbox`, `menuitemradio`, - - `meter`, - + `meter`, `option`, `progressbar`, - - `radio`, - + `radio`, `scrollbar`, `separator`, `slider`, `switch`, `tab` or - `treeitem`. + `treeitem`. (img or image is also allowed, but NOT RECOMMENDED.)

@@ -1652,13 +1483,12 @@

`doc-cover`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-

If the `img` has no `alt` attribute or no accessible name: - No `role` other than the + No `role` other than the role=none or presentation roles. (role=img or image is also allowed, but NOT RECOMMENDED.)

@@ -1669,17 +1499,14 @@

[^img^] with empty `alt` and no accessible name

@@ -1701,25 +1527,23 @@

@@ -1739,11 +1563,11 @@

or `switch`; `button` if used with `aria-pressed`. (checkbox is also allowed, but NOT RECOMMENDED.)

-

+

Authors MUST NOT use the `aria-checked` attribute on `input type=checkbox` elements.

- Otherwise, any global `aria-*` attributes and + Otherwise, any Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -1816,7 +1640,7 @@

No `role` other than textbox, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -1833,7 +1657,7 @@

No `role`

- Global `aria-*` attributes, + Global `aria-*` attributes, `aria-disabled`, `aria-invalid` and `aria-required` attributes.

@@ -1859,33 +1683,31 @@

role=button

@@ -1900,7 +1722,7 @@

No `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -1917,7 +1739,7 @@

No `role` other than spinbutton, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `spinbutton` role.

@@ -1934,7 +1756,7 @@

No `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -1951,7 +1773,7 @@

Role: `menuitemradio`. (radio is also allowed, but NOT RECOMMENDED.)

-

+

Authors MUST NOT use the `aria-checked` attribute on `input type=radio` elements.

@@ -1978,12 +1800,12 @@

No `role` other than slider, which is NOT RECOMMENDED.

- Authors SHOULD NOT use the `aria-valuemax` or + Authors SHOULD NOT use the `aria-valuemax` or `aria-valuemin` attributes on `input type=range`.

- Otherwise, any - global `aria-*` attributes + Otherwise, any + global `aria-*` attributes and any other `aria-*` attributes applicable to the `slider` role.

@@ -1996,34 +1818,32 @@

role=button

@@ -2039,7 +1859,7 @@

No `role` other than searchbox, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `searchbox` role.

@@ -2052,39 +1872,37 @@

role=button

@@ -2116,7 +1934,7 @@

or `spinbutton`. (textbox is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2142,7 +1960,7 @@

Otherwise, any - global `aria-*` attributes + global `aria-*` attributes and any other `aria-*` attributes applicable to the `combobox` role.

@@ -2159,7 +1977,7 @@

No `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -2177,7 +1995,7 @@

No `role` other than textbox, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -2194,7 +2012,7 @@

No `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -2210,9 +2028,9 @@

Any `role`, though `insertion` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2228,9 +2046,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2244,12 +2062,12 @@

@@ -2342,7 +2156,7 @@

No `role` other than main, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `main` role.

@@ -2371,9 +2185,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2390,7 +2204,7 @@

No `role` other than math, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `math` role.

@@ -2417,13 +2231,11 @@

or `tree`. (list is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-

Authors SHOULD NOT use deprecated `directory` role.

-

@@ -2451,11 +2263,11 @@

No `role` other than `meter`, which is NOT RECOMMENDED.

- Authors SHOULD NOT use the `aria-valuemax` or + Authors SHOULD NOT use the `aria-valuemax` or `aria-valuemin` attributes on `meter` elements.

- Otherwise, any + Otherwise, any global `aria-*` attributes and any other `aria-*` attributes applicable to the `meter` role.

@@ -2473,8 +2285,8 @@

Roles: `menu`, `menubar`, - `none`, - `presentation` + `none`, + `presentation` or `tablist`. (navigation is also allowed, but NOT RECOMMENDED.)

@@ -2484,7 +2296,7 @@

or `doc-toc`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2545,13 +2357,11 @@

or `tree`. (list is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

Authors SHOULD NOT use deprecated `directory` role. -

-
+

Authors SHOULD NOT use deprecated `directory` role. +

@@ -2566,7 +2376,7 @@

No `role` other than group, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `group` role.

@@ -2605,7 +2415,7 @@

Any `role`, though status is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2621,9 +2431,9 @@

Any `role`, though `paragraph` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2652,12 +2462,10 @@

No `role`

-
-

- Authors MAY specify the `aria-hidden` attribute on the `picture` element. - Otherwise, no other allowed `aria-*` attributes. -

-
+

+ Authors MAY specify the `aria-hidden` attribute on the `picture` element. + Otherwise, no other allowed `aria-*` attributes. +

@@ -2671,9 +2479,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2690,12 +2498,12 @@

No `role` other than progressbar, which is NOT RECOMMENDED.

- Authors SHOULD NOT use the `aria-valuemax` attribute + Authors SHOULD NOT use the `aria-valuemax` attribute on `progress` elements.

- Otherwise, - any global `aria-*` attributes + Otherwise, + any global `aria-*` attributes and any other `aria-*` attributes applicable to the `progressbar` role.

@@ -2711,9 +2519,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2729,9 +2537,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2747,9 +2555,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2766,7 +2574,7 @@

Any `role`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2779,12 +2587,12 @@

role=`deletion`

@@ -2800,9 +2608,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -2830,21 +2638,19 @@

@@ -2854,9 +2660,9 @@

@@ -2939,8 +2745,8 @@

Authors SHOULD NOT use the `aria-multiselectable` attribute on a `select` element.

- Otherwise, - any global `aria-*` attributes + Otherwise, + any global `aria-*` attributes and any other `aria-*` attributes applicable to the `combobox` or `menu` role.

@@ -2960,8 +2766,8 @@

Authors SHOULD NOT use the `aria-multiselectable` attribute on a `select` element.

- Otherwise, - any global `aria-*` attributes + Otherwise, + any global `aria-*` attributes and any other `aria-*` attributes applicable to the `listbox` role.

@@ -2978,12 +2784,12 @@

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, + 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 + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3012,9 +2818,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3043,9 +2849,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3061,9 +2867,9 @@

Any `role`, though `strong` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3092,9 +2898,9 @@

Any `role`, though `subscript` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3112,23 +2918,21 @@

@@ -3142,9 +2946,9 @@

Any `role`, though superscript is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3162,7 +2966,7 @@

Any `role`, though `graphics-document` is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3179,7 +2983,7 @@

Any `role`, though table is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3196,7 +3000,7 @@

Any `role`, though rowgroup is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3239,7 +3043,7 @@

any `role`.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3269,7 +3073,7 @@

No `role` other than textbox, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

@@ -3286,7 +3090,7 @@

Any `role`, though rowgroup is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3298,13 +3102,13 @@

@@ -3358,7 +3162,7 @@

Any `role`, though rowgroup is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3374,9 +3178,9 @@

Any `role`, though time is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3409,7 +3213,7 @@

any `role`, though row is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3438,9 +3242,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3467,15 +3271,13 @@

or `tree`. (list is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

- Authors SHOULD NOT use the deprecated - `directory` role. -

-
+

+ Authors SHOULD NOT use the deprecated + `directory` role. +

@@ -3489,9 +3291,9 @@

Any `role`

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

@@ -3508,7 +3310,7 @@

Role: `application`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `application` role.

@@ -3521,29 +3323,26 @@

No corresponding role

-

Roles: `button` @@ -667,10 +512,9 @@

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-

- If role defined by `ElementInternals`, + If role defined by `ElementInternals`, no `role`

Otherwise, any `role`, though generic SHOULD NOT be used.

-

+

Naming Prohibited if exposed as the `generic` role, or if exposed as another role which prohibits naming.

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

- No `role` other than listbox, which is NOT RECOMMENDED. -

-

- No `aria-*` attributes. -

-
+

+ No `role` other than listbox, which is NOT RECOMMENDED. +

+

+ No `aria-*` attributes. +

-

+

If a direct child of a [^dl^] element, only `presentation` or `none`. Otherwise, any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

- If role defined by `ElementInternals`, + If role defined by `ElementInternals`, no `role`

@@ -1426,11 +1265,11 @@

`switch` or `textbox`. (generic is also allowed, but SHOULD NOT be used.)

-

+

Naming Prohibited if exposed as the `generic` role.

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

- No `role` other than document + No `role` other than document or generic, which are NOT RECOMMENDED.

@@ -1577,9 +1416,9 @@

Any `role`, though generic SHOULD NOT be used.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
- [^img^] -
+ [^img^]
- If the `img` has non-empty [^img/alt^] (`alt="some text"`) or an accessible name is provided by another - `img` naming method, + If the `img` has non-empty [^img/alt^] (`alt="some text"`) or an accessible name is provided by another + `img` naming method, or the `img` has no `alt` and no accessible name:
role=img or image
-
-

- If the `img` has an empty `alt` ([^img/alt^]`=""`) and lacks any other - `img` naming methods:
- role=none, - role=presentation -

-
+

+ If the `img` has an empty `alt` ([^img/alt^]`=""`) and lacks any other + `img` naming methods:
+ role=none, + role=presentation +

-

No `role` other than the role=none or presentation roles, which are NOT RECOMMENDED. @@ -1688,7 +1515,6 @@

No `aria-*` attributes except `aria-hidden="true"`.

-

Roles: - `checkbox`, - `combobox`, - `gridcell`, + `checkbox`, + `combobox`, + `gridcell`, `link`, `menuitem`, `menuitemcheckbox`, `menuitemradio`, `option`, - `radio`, - - `separator`, - `slider`, + `radio`, `separator`, + `slider`, `switch`, `tab`, - or `treeitem`. + or `treeitem`. (button is also allowed, but NOT RECOMMENDED.)

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

- The following roles are allowed, but are 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 allowed roles. -

-

- If possible, authors SHOULD consider using a different HTML element which allows the specified role, - such as the `button` element. -

-
+

+ The following roles are allowed, but are 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 allowed roles. +

+

+ If possible, authors SHOULD consider using a different HTML element which allows the specified role, + such as the `button` element. +

-
-

- The following roles are allowed, but are NOT RECOMMENDED: - `button`, - `checkbox`, - `combobox`, - `gridcell`, - `link`, - `menuitem`, - `menuitemcheckbox`, - `menuitemradio`, - `option`, - `radio`, - `separator`, - `slider`, - `switch`, - `tab` - or `treeitem`. -

-

- Global `aria-*` attributes - and any `aria-*` attributes applicable to the allowed roles. -

-

- If possible, authors SHOULD consider using a different HTML element which allows the specified role, - such as the `button` element. -

-
+

+ The following roles are allowed, but are NOT RECOMMENDED: + `button`, + `checkbox`, + `combobox`, + `gridcell`, + `link`, + `menuitem`, + `menuitemcheckbox`, + `menuitemradio`, + `option`, + `radio`, + `separator`, + `slider`, + `switch`, + `tab` + or `treeitem`. +

+

+ Global `aria-*` attributes + and any `aria-*` attributes applicable to the allowed roles. +

+

+ If possible, authors SHOULD consider using a different HTML element which allows the specified role, + such as the `button` element. +

-
-

- The following roles are allowed, but are NOT RECOMMENDED: - `button`, - `checkbox`, - `combobox`, - `gridcell`, - `link`, - `menuitem`, - `menuitemcheckbox`, - `menuitemradio`, - `option`, - `radio`, - `separator`, - `slider`, - `switch`, - `tab` - or `treeitem`. -

-

- Global `aria-*` attributes - and any `aria-*` attributes applicable to the allowed roles. -

-

- If possible, authors SHOULD consider using a different HTML element which allows the specified role, - such as the `button` element. -

-
+

+ The following roles are allowed, but are NOT RECOMMENDED: + `button`, + `checkbox`, + `combobox`, + `gridcell`, + `link`, + `menuitem`, + `menuitemcheckbox`, + `menuitemradio`, + `option`, + `radio`, + `separator`, + `slider`, + `switch`, + `tab` + or `treeitem`. +

+

+ Global `aria-*` attributes + and any `aria-*` attributes applicable to the allowed roles. +

+

+ If possible, authors SHOULD consider using a different HTML element which allows the specified role, + such as the `button` element. +

- `input type=tel`, + `input type=tel`, with no [^input/list^] attribute @@ -2095,7 +1913,7 @@

No `role` other than textbox, which is NOT RECOMMENDED.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the `textbox` role.

- If a `label` element is implicitly or explicitly associated with a + If a `label` element is implicitly or explicitly associated with a labelable element then no `role`

- Otherwise, if the `label` is not associated with an element then any `role`, + Otherwise, if the `label` is not associated with an element then any `role`, though generic SHOULD NOT be used.

Naming Prohibited if exposed as the `generic` role, or if exposed as another role which prohibits naming.

@@ -2269,7 +2087,7 @@

No `role`

-

Naming Prohibited

+

Naming Prohibited

Otherwise, global `aria-*` attributes.

@@ -2281,40 +2099,36 @@

- If the `li` is a child of an element exposed as a `role=list` - (e.g., `ul`, `ol`, + If the `li` is a child of an element exposed as a `role=list` + (e.g., `ul`, `ol`, `menu`): role=listitem.

- Otherwise, + Otherwise, role=generic

-
-

- No `role` other than listitem, which is NOT RECOMMENDED, - if the parent list element has an implicit or explicit `list` role. -

-

- 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 + No `role` other than listitem, which is NOT RECOMMENDED, + if the parent list element has an implicit or explicit `list` role. +

+

+ 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`. -

-
+

Authors SHOULD NOT use the following deprecated DPub Roles: + `doc-biblioentry`, + `doc-endnote`. +

-

+

Any `role`, though `deletion` is NOT RECOMMENDED.

-

Naming Prohibited

+

Naming Prohibited

- Otherwise, global `aria-*` attributes + Otherwise, global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

- Roles: - `form`, - `group`, - `none`, - `presentation` or - `region`. - (search is also allowed, but NOT RECOMMENDED.) -

-

- Global `aria-*` attributes - and any `aria-*` attributes applicable to the allowed roles. -

-
+

+ Roles: + `form`, + `group`, + `none`, + `presentation` or + `region`. + (search is also allowed, but NOT RECOMMENDED.) +

+

+ Global `aria-*` attributes + and any `aria-*` attributes applicable to the allowed roles. +

role=region if the - [^section^] element has an + [^section^] element has an accessible name -

+

Otherwise, role=generic

@@ -2873,7 +2679,7 @@

`dialog`, `document`, `feed`, - `group`, + `group`, `log`, `main`, `marquee`, @@ -2884,7 +2690,7 @@

`search`, `status` or `tabpanel`. - (role=region is also allowed, + (role=region is also allowed, but NOT RECOMMENDED. role=generic SHOULD NOT be used.)

@@ -2919,7 +2725,7 @@

`doc-toc`

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

- No `role` if the `summary` element is a - summary for its parent details element. -

-

- Global `aria-*` attributes, - `aria-disabled`, and `aria-haspopup` attributes. -

-

- Otherwise, if the `summary` element is not a - summary for its parent details - element, authors MAY specify any `role`, and any - global `aria-*` attributes - and any `aria-*` attributes applicable to the allowed roles. -

-
+

+ No `role` if the `summary` element is a + summary for its parent details element. +

+

+ Global `aria-*` attributes, + `aria-disabled`, and `aria-haspopup` attributes. +

+

+ Otherwise, if the `summary` element is not a + summary for its parent details + element, authors MAY specify any `role`, and any + Global `aria-*` attributes + and any `aria-*` attributes applicable to the allowed roles. +

role=columnheader, - `rowheader` or + `rowheader` or `cell` if the ancestor `table` element is exposed as a `role=table`

role=columnheader, - `rowheader` or + `rowheader` or `gridcell` if the ancestor `table` element is exposed as a `role=grid` or `treegrid`

@@ -3341,7 +3145,7 @@

any `role`.

- Global `aria-*` attributes + Global `aria-*` attributes and any `aria-*` attributes applicable to the allowed roles.

-
-

- Roles: - `none` - or `presentation` -

-

- Authors MAY specify the `aria-hidden` attribute on the `wbr` element. - Otherwise, no other allowed `aria-*` attributes. -

-
+

+ Roles: + `none` + or `presentation` +

+

+ Authors MAY specify the `aria-hidden` attribute on the `wbr` element. + Otherwise, no other allowed `aria-*` attributes. +

-

- The elements marked with No corresponding role, in the second column of - the table do not have any implicit ARIA semantics, but they do have meaning - and this meaning may be represented in roles, states and properties not provided - by ARIA, and exposed to users of assistive technology via accessibility APIs. - It is therefore recommended that authors add a `role` attribute to a semantically - neutral element such as a [^div^] or [^span^], rather than overriding the semantics + The elements marked with No corresponding role, in the second column of + the table do not have any implicit ARIA semantics, but they do have meaning + and this meaning may be represented in roles, states and properties not provided + by ARIA, and exposed to users of assistive technology via accessibility APIs. + It is therefore recommended that authors add a `role` attribute to a semantically + neutral element such as a [^div^] or [^span^], rather than overriding the semantics of the listed elements.

@@ -3556,7 +3355,7 @@

add accessibility information to HTML elements using the Accessible Rich Internet Applications specification. -
  • [[[wai-aria-practices-1.2]]] - An author's guide to +
  • ARIA Authoring Practices Guide - An author's guide to understanding and implementing Accessible Rich Internet Applications.
  • @@ -3590,7 +3389,7 @@

    </figure>

    -
    +

    Requirements for use of ARIA attributes to name elements

    @@ -3608,11 +3407,8 @@

    Elements with implicit ARIA roles which prohibit naming

    -->
                 <!-- DO NOT do the following! -->
                 <p aria-label="...">...</p>
    -
                 <span aria-label="...">...<span>
    -
                 <code aria-label="...">...<code>
    -
                 <div aria-labelledby="...">...</div>
               

    @@ -3620,9 +3416,7 @@

    Elements with implicit ARIA roles which prohibit naming

    -->

                 <p role="link" tabindex="0" aria-label="...">...</p>
    -
                 <span role="button" tabindex="0" aria-label="...">...<span>
    -
                 <div role="article" aria-labelledby="...">...</div>
               
    @@ -3632,14 +3426,14 @@

    Requirements for use of ARIA attributes in place of equivalent HTML attributes

    - Unless otherwise stated, authors MAY use `aria-*` attributes in place of their HTML equivalents on HTML elements where the `aria-*` semantics would - be expected. For example, authors MAY specify `aria-disabled=true` on a [^button^] element, while also implementing the necessary scripting to functionally + Unless otherwise stated, authors MAY use `aria-*` attributes in place of their HTML equivalents on HTML elements where the `aria-*` semantics would + be expected. For example, authors MAY specify `aria-disabled=true` on a [^button^] element, while also implementing the necessary scripting to functionally disable the `button`, rather than the use `disabled` attribute.

    As stated in WAI-ARIA's Conflicts with Host Language Semantics, - when HTML elements use both `aria-*` attributes and their host language (HTML) equivalents, user agents MUST ignore the WAI-ARIA attributes – the - native HTML attributes with the same implicit ARIA semantics take precedence. For this reason, authors SHOULD NOT specify both the native HTML attribute + when HTML elements use both `aria-*` attributes and their host language (HTML) equivalents, user agents MUST ignore the WAI-ARIA attributes – the + native HTML attributes with the same implicit ARIA semantics take precedence. For this reason, authors SHOULD NOT specify both the native HTML attribute and the equivalent `aria-*` attribute on an element. Please review each attribute for any further author specific requirements.

    @@ -3681,16 +3475,14 @@

    `aria-checked="true"` -
    -

    - 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 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. -

    -
    +

    + 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 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.

    @@ -3711,7 +3503,7 @@

    Use the `disabled` attribute on any element that is allowed the `disabled` attribute in HTML.

    - Authors MAY use the `aria-disabled` attribute on any element that is allowed the `disabled` attribute in HTML, + Authors MAY use the `aria-disabled` attribute on any element that is allowed the `disabled` attribute in HTML, or any element with a WAI-ARIA role which allows the `aria-disabled` attribute.

    @@ -3731,13 +3523,13 @@

    - Authors MAY use the `aria-hidden` attribute on any HTML element that allows - global `aria-*` attributes to + Authors MAY use the `aria-hidden` attribute on any HTML element that allows + Global `aria-*` attributes to be specified, with the exception of focusable elements and the `body` element.

    - 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 + 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 Hidden Until Found state.

    @@ -3745,9 +3537,9 @@

    can be tabbed to via a keyboard. For instance, an element with `tabindex="-1"` is focusable but is not a tabbable element.

    - Using `aria-hidden="true"` on an element that has the `hidden` attribute is at best an unnecessary redundancy. At worst its usage can + Using `aria-hidden="true"` on an element that has the `hidden` attribute is at best an unnecessary redundancy. At worst its usage can prevent access to the content if the `hidden` attribute's default UA style of `display: none` has been purposefully overwritten by an author or user style sheet. - Finally, if the `hidden` attribute is in the Hidden Until Found state, the use of `aria-hidden=true` will prevent this content from being discoverable to users + Finally, if the `hidden` attribute is in the Hidden Until Found state, the use of `aria-hidden=true` will prevent this content from being discoverable to users of assistive technology when it is found via a browser's in-page find feature and visually rendered to users.
    @@ -3765,7 +3557,7 @@

    `placeholder` attribute in HTML.

    - Authors MAY use the `aria-placeholder` attribute on any element that is allowed the `placeholder` attribute in HTML, + Authors MAY use the `aria-placeholder` attribute on any element that is allowed the `placeholder` attribute in HTML, or any element with a WAI-ARIA role which allows the `aria-placeholder` attribute.

    @@ -3946,7 +3738,7 @@

    -
    +

    Requirements for deprecated ARIA role, state and property attributes

    @@ -3956,15 +3748,13 @@

    The following roles and attributes are deprecated features of ARIA and DPub ARIA. Conformance checkers MUST warn authors about the deprecated status of these features. Whenever possible, authors are advised to use alternatives to deprecated features.

    -

    Deprecated ARIA roles

    -
      +

      The `directory` role is marked for deprecation in [[wai-aria-1.2|WAI-ARIA 1.2]]. In reality, the `directory` role had no functional difference compared to an element with an implicit or explicitly declared `list` role. Authors are advised to use one of HTML's native list elements, or an ARIA `list` role instead.

      -

      Deprecated DPub ARIA roles

      • `doc-biblioentry`
      • @@ -3973,7 +3763,6 @@

        Deprecated DPub ARIA roles

        The `doc-biblioentry` and `doc-endnote` roles are marked for deprecation in [[[dpub-aria-1.1]]], as they are not valid children for an element with an implicit or explicit role of `list`. Authors can use standard list and child `li` elements without the need for these roles.

        -

        Deprecated ARIA attributes

        • `aria-dropeffect`
        • @@ -3992,7 +3781,6 @@

          and any state or property attributes (`aria-*`) whose values are defined as tokens.

          -

          While modern browsers treat the `role` or `aria-*` attribute values as [=ASCII case-insensitive=], not all assistive technologies will correctly parse these values. @@ -4007,7 +3795,6 @@

             <div role="main">...</div>
          -
             <a href="home/" aria-current="page">home</a>
                   

          @@ -4015,15 +3802,12 @@

          <!-- DO NOT DO THE FOLLOWING -->
           <div role="MAIN">...</div>
          -
           <div role="Main">...</div>
          -
           <a href="home/" aria-current="Page">home</a>
                   

    -

    Allowed descendants of ARIA roles @@ -4054,21 +3838,17 @@

    <button> <div role="button">...</div> </button> - <div role="button"> <button>...</button> </div> - <div role="link"> <textarea>...</textarea> </div> -

    Additionally, there are certain roles which [[[wai-aria-1.2]]] has specified specific requirements for their allowed descendants. These have been identified in column 3 (Descendant allowances) by indicating to "Refer to the 'Required Owned Elements'" for those particular roles.

    -
    Allowed descendants of ARIA roles