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
resolves#995
The intent with this update is, 4 years later, to propose a draft solution for the issue I opened.
With the progress made on aria-details, and the overlaps in how this attribute could have been useful, I did take great liberty in pulling in further explanation/examples for aria-controls from the existing aria-details spec text.
Things i didn't overly call out in this pr, but should probably make their way in there concern recommendations on whether or not to expose the controlling relationship depending on DOM/a11y API relationship. E.g., we probably don't need an explicit user exposed controlling relationship if a controlled element is directly after the controlling element in the dom (e.g., a disclosure widget) but we _would_ want AT to know they could make this association clear if the elements were located in different portions of the a11y tree - e.g., a button opening a non-modal dialog that happens to be at the bottom of the DOM, but the button is somewhere else entirely.
Co-authored-by: Mu-An Chiou <[email protected]>
Co-authored-by: James Craig <[email protected]>
Co-authored-by: James Nurthen <[email protected]>
Co-authored-by: pkra <[email protected]>
Copy file name to clipboardExpand all lines: index.html
+40-10Lines changed: 40 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -13082,13 +13082,34 @@ <h2>Definitions of States and Properties (all aria-* attributes)</h2>
13082
13082
<div class="property" id="aria-controls">
13083
13083
<pdef>aria-controls</pdef>
13084
13084
<div class="property-description">
13085
-
<p><a>Identifies</a> the <a>element</a> (or elements) whose contents or presence are controlled by the current element. See related <pref>aria-owns</pref>.</p>
13086
-
<p>For example:</p>
13085
+
<p>
13086
+
<a>Identifies</a> the <a>element</a> (or elements) whose contents or presence are controlled by the focused element or composite widget. See related <pref>aria-details</pref> and
13087
+
<pref>aria-owns</pref>.
13088
+
</p>
13089
+
<p>
13090
+
The <code>aria-controls</code> property is for referencing elements that are modified by the user interacting with the currently focused element or composite widget. The presence of
13091
+
<code>aria-controls</code> enables <a>assistive technologies</a> to programmatically associate the currently focused element with the element or elements it controls. For instance, it
13092
+
can be used to inform users that by interacting with the controlling element they have revealed an element or elements that were previously in the hidden state. Or, by interacting with
13093
+
an element, they caused the selection or value of a controlled element to change.
13094
+
</p>
13095
+
<p>Instance where an <code>aria-controls</code> association could be made:</p>
13087
13096
<ul>
13088
-
<li>A table of contents tree view can control the content of a neighboring document pane.</li>
13089
-
<li>A group of checkboxes can control what commodity prices are tracked live in a table or graph.</li>
13090
-
<li>A tab controls the display of its associated tab panel.</li>
13097
+
<li>
13098
+
Interacting with a text field or editable combobox results in the display of a listbox popup. Upon entering text, the associated listbox is filtered, or the selected option changes to
13099
+
match the text value entered by the user.
13100
+
</li>
13101
+
<li>A tree view representing a table of contents where choosing a treeitem updates content of a neighboring document pane.</li>
13102
+
<li>A series of checkboxes can each control what commodity prices are tracked live in a table or graph.</li>
13103
+
<li>
13104
+
An interactive element reveals associated content when selected. For instance, selecting a tab control reveals its associated tab panel. Or checking a radio button reveals additional
13105
+
information or form controls related to the chosen radio button.
13106
+
</li>
13107
+
<li>Radio buttons allow for filtering to a listing of search results.</li>
13091
13108
</ul>
13109
+
<p>
13110
+
Additionally, the <code>aria-controls</code> property supports multiple ID references. For example, a control can be used to highlight different instances of spelling errors. A user
13111
+
agent MAY convey to a user that there are a number of related controlled elements (the misspellings), allow the user to navigate to the controlled elements in sequence, or both.
13112
+
</p>
13092
13113
</div>
13093
13114
<table class="def">
13094
13115
<caption>
@@ -13681,9 +13702,15 @@ <h2>Definitions of States and Properties (all aria-* attributes)</h2>
13681
13702
<sdef>aria-expanded</sdef>
13682
13703
<div class="state-description">
13683
13704
<p><a>Indicates</a> whether a related element is expanded (shown) or collapsed (hidden).</p>
13684
-
<p>The <sref>aria-expanded</sref> attribute is applied to a focusable, interactive element that toggles visibility of content of a different element. If the element with <sref>aria-expanded</sref> is also a <rref>treeitem</rref> in a <rref>tree</rref> or a <rref>row</rref> in a <rref>treegrid</rref>, then it SHOULD also be the <a>accessibility parent</a> of the content it expands and collapses. Otherwise, the element with <sref>aria-expanded</sref> SHOULD NOT be the <a>accessibility parent</a> of the content that is expanding or collapsing. Rather, identify that relationship between the interactive element and the element being controlled using <pref>aria-controls</pref>.</p>
13705
+
<p>
13706
+
The <sref>aria-expanded</sref> attribute is applied to a focusable, interactive element that toggles visibility of content of a different element. If the element with
13707
+
<sref>aria-expanded</sref> is also a <rref>treeitem</rref> in a <rref>tree</rref> or a <rref>row</rref> in a <rref>treegrid</rref>, then it SHOULD also be the
13708
+
<a>accessibility parent</a> of the content it expands and collapses. Otherwise, the element with <sref>aria-expanded</sref> SHOULD NOT be the <a>accessibility parent</a> of the content
13709
+
that is expanding or collapsing. Rather, identify that relationship between the interactive element and the element being controlled using <pref>aria-controls</pref>.
13710
+
</p>
13685
13711
<p>For example, <sref>aria-expanded</sref> is applied to a parent <rref>treeitem</rref> to indicate whether its child branch of the tree is shown.</p>
0 commit comments