You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.html
+107-62
Original file line number
Diff line number
Diff line change
@@ -10226,12 +10226,48 @@ <h3>Value</h3>
10226
10226
</section>
10227
10227
<section id="enumerated-attribute-values">
10228
10228
<h2>Enumerated Attribute Values</h2>
10229
-
<p>When the ARIA attribute definition includes a table enumerating the attribute's allowed <span>values</span>, that attribute is an <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a>. Each value in the table is a keyword for the attribute, mapping to a state of the same name. When the values table notates one of the values as "(default)", that default value is the <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#missing-value-default">missing value default</a> and <a href="https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#invalid-value-default">invalid value default</a> for the attribute.</p>
<p>As noted in <a href="#typemapping">Mapping <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> Value Types to Languages</a>, attributes are included in host languages, and the syntax for representation of enumerated value types is governed by the host language.</p>
10233
-
<p>All enumerated attribute getters and setters use string values, including the boolean-like enumerated <a href="#valuetype_true-false">true/false</a> type.</p>
10234
-
<aside class="example">
10229
+
<p>When the ARIA attribute definition includes a table enumerating the attribute's allowed <span>values</span>,
10230
+
that attribute is a nullable <a data-cite="html/common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a>.
10231
+
Each value in the table is a keyword for the attribute, mapping to a state of the same name. </p>
10232
+
<section id="idl-reflection-attribute-values">
10233
+
<h3>IDL reflection of ARIA attributes</h3>
10234
+
<p>All ARIA attributes reflect in IDL as [=nullable type|nullable=] {{DOMString}} attributes.
10235
+
This includes the boolean-like enumerated <a href="#valuetype_true-false">true/false</a> type, and all other ARIA enumerated attributes.</p>
10236
+
<p>Default values from the ARIA values tables MUST NOT reflect to IDL as the
10237
+
<a data-cite="html/common-microsyntaxes.html#missing-value-default">missing value default</a> or the
10238
+
<a data-cite="html/common-microsyntaxes.html#invalid-value-default">invalid value default</a> for the attribute.
10239
+
On getting, a missing ARIA attribute will return <code>null</code>. ARIA attributes are not validated on get.
10240
+
If an ARIA value is invalid, on getting, it will return its set value as a literal string, and will not return an invalid value default.</p>
10241
+
</section>
10242
+
<section id="os-aapi-attribute-mapping">
10243
+
<h3>Operating System Accessibility API mapping of ARIA enumerated attributes</h3>
10244
+
<p>Unlike IDL reflection, operating system accessibility API mappings of ARIA enumerated attributes do have defaults.
10245
+
The default values from the ARIA values tables are exposed to the operating system accessibility API as described in
10246
+
[[[#supportedState]]], and in [[[CORE-AAM]]].</p>
10247
+
</section>
10248
+
<section id="enumerated-attribute-values-html">
10249
+
<h3>ARIA Enumerated Attributes in HTML</h3>
10250
+
<p>As noted in [[[#typemapping]]], attributes are included in host languages, and the syntax for representation of enumerated value types is governed by the host language.</p>
10251
+
<p>When the host language is HTML, ARIA enumerated attributes MUST follow the <a data-cite="html/common-dom-interfaces.html#reflecting-content-attributes-in-idl-attributes">HTML rules</a> for reflecting [=nullable type|nullable=] {{DOMString}} IDL attributes current as of September 3, 2021.</p>
10252
+
<div class="note informative" data-cite="HTML">
10253
+
<p>Below is a copy of the HTML specification text for [=nullable type|nullable=] {{DOMString}} IDL attributes as of September 3, 2021.
10254
+
The HTML spec is a living document, and this section may have changed since. Refer to the link above for the most current version.</p>
10255
+
10256
+
<blockquote>
10257
+
a reflecting IDL attribute is a nullable {{DOMString}}
10258
+
attribute whose content attribute is an <a data-cite="html/common-microsyntaxes.html#enumerated-attribute">enumerated attribute</a>, then, on getting, if
10259
+
the corresponding content attribute is in its <i>missing value default</i> state then the IDL
10260
+
attribute must return null, otherwise, the IDL attribute must return the keyword value associated
10261
+
with the state the attribute is in. If there are multiple keyword values for the state, then
10262
+
return the conforming one. If there are multiple conforming keyword values, then one will be
10263
+
designated the <a data-cite="html/common-dom-interfaces.html#canonical-keyword">canonical keyword</a>; choose that one. On setting, if the new value is
10264
+
null, the content attribute must be removed, and otherwise, the content attribute must be set to
0 commit comments