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
{{ message }}
Repository navigation
Commit d99617f
Browse filesBrowse the repository at this point in the historyBrowse files
Remove name required from alertdialog, dialog, form, grid, radiogroup, table (#2297)
closes#2180
related to recent question: #2296
related to #1764
This PR removes requiring names for alertdialog, dialog, form, grid, radiogroup and table roles and replaces the author MUST with an author SHOULD. (for grid/table there was no author MUST naming paragraph, so the author SHOULD paragraph was added to these roles).
With this change there will likely be necessary updates to related APG/MDN docs.
* [x] Related APG Issue/PR: w3c/aria-practices#3244
* [x] MDN Issue/PR: mdn/content#38262
* [ ] IBM Equal Access Toolkit issue
Copy file name to clipboardExpand all lines: index.html
+12-8Lines changed: 12 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -1001,6 +1001,7 @@ <h2>Definition of Roles</h2>
1001
1001
<p>A type of dialog that contains an alert message, where initial focus goes to an <a>element</a> within the dialog. See related <rref>alert</rref> and <rref>dialog</rref>.</p>
1002
1002
<p>Alert dialogs are used to convey messages to alert the user. The <code>alertdialog</code> <a>role</a> goes on the [=nodes|node=] containing both the alert message and the rest of the dialog. Authors SHOULD make alert dialogs modal by ensuring that, while the <code>alertdialog</code> is shown, keyboard and mouse interactions only operate within the dialog. See <pref>aria-modal</pref>.</p>
1003
1003
<p>Unlike <rref>alert</rref>, <code>alertdialog</code> can receive a response from the user. For example, to confirm that the user understands the alert being generated. When the alert dialog is displayed, authors SHOULD set focus to an active element within the alert dialog, such as a form control or confirmation button. The <a>user agent</a> SHOULD fire a system alert <a>event</a> through the accessibility API when the alert is created, provided one is specified by the intended <a>accessibility <abbr title="Application Programing Interfaces">API</abbr></a>.</p>
1004
+
<p>Authors SHOULD provide an accessible name for an <code>alertdialog</code>, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute.</p>
1004
1005
<p>Authors SHOULD use <pref>aria-describedby</pref> on an <code>alertdialog</code> to reference the alert message element in the dialog. If they do not, an <a>assistive technology</a> can resort to its internal recovery mechanism to determine the contents of the alert message.</p>
1005
1006
</div>
1006
1007
<table class="role-features">
@@ -1063,7 +1064,7 @@ <h2>Definition of Roles</h2>
1063
1064
</tr>
1064
1065
<tr>
1065
1066
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
1066
-
<td class="role-namerequired">True</td>
1067
+
<td class="role-namerequired"></td>
1067
1068
</tr>
1068
1069
<tr>
1069
1070
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
@@ -2817,7 +2818,7 @@ <h2>Definition of Roles</h2>
2817
2818
<div class="role-description">
2818
2819
<p>A dialog is a descendant window of the primary window of a web application. For HTML pages, the primary application window is the entire web document.</p>
2819
2820
<p>Dialogs are often used to prompt the user to enter or respond to information, or can represent content related to understanding or modifying the content of the primary application window. A dialog that is designed to interrupt workflow and prevent users from interacting with the primary web application is usually modal. See related <rref>alertdialog</rref>. A dialog that allows for the user to switch between interacting with the content of the primary web application and the content the dialog is usually modeless (i.e., non-modal). In lieu of using robust host language features for marking content of the primary web application as <code>inert</code>, authors SHOULD use the <pref>aria-modal</pref> attribute, and constrain focus to dialogs. See the <a href="https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/">WAI-ARIA Authoring Practices: Dialog (modal) pattern</a> for additional details on implementing modal dialog design patterns.</p>
2820
-
<p>Authors MUST provide an accessible name for a dialog, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute.</p>
2821
+
<p>Authors SHOULD provide an accessible name for a dialog, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute.</p>
2821
2822
<p>Authors SHOULD ensure that all dialogs (both modal and non-modal) have at least one focusable descendant element. Authors SHOULD focus an element in the modal dialog when it is displayed, and authors SHOULD constrain keyboard focus to focusable elements within a modal dialog, until dismissed.</p>
2822
2823
<p>Authors SHOULD provide a dialog an accessible description, with the <pref>aria-describedby</pref> attribute, for instances where authors have set initial keyboard focus on an element that follows content that outlines the purpose of the dialog. Assistive technology SHOULD give precedence to exposing author defined dialog accessible descriptions when a dialog is invoked and user focus is moved to a descendant of the dialog element.</p>
2823
2824
<div class="note">
@@ -2890,7 +2891,7 @@ <h2>Definition of Roles</h2>
2890
2891
</tr>
2891
2892
<tr>
2892
2893
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
2893
-
<td class="role-namerequired">True</td>
2894
+
<td class="role-namerequired"></td>
2894
2895
</tr>
2895
2896
<tr>
2896
2897
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
@@ -3327,7 +3328,7 @@ <h2>Definition of Roles</h2>
3327
3328
<div class="role-description">
3328
3329
<p>A <rref>landmark</rref> region that contains a collection of items and objects that, as a whole, combine to create a form. See related <rref>search</rref>.</p>
3329
3330
<p>A form can contain a mix of host language form controls, scripted controls, and hyperlinks. Authors are reminded to use native host language semantics to create form controls whenever possible. If the purpose of a form is to submit search criteria, authors SHOULD use the <rref>search</rref> role instead of the generic <code>form</code> role.</p>
3330
-
<p>Authors MUST give each element with role <code>form</code> a brief label that describes the purpose of the form. Authors SHOULD reference a visible label with <pref>aria-labelledby</pref> if a visible label is present. Authors SHOULD include the label inside of a heading whenever possible. The heading MAY be an instance of the standard host language heading element or an instance of an element with role <rref>heading</rref>.</p>
3331
+
<p>Authors SHOULD give each element with role <code>form</code> a brief label that describes the purpose of the form. Authors SHOULD reference a visible label with <pref>aria-labelledby</pref> if a visible label is present. Authors SHOULD include the label inside of a heading whenever possible. The heading MAY be an instance of the standard host language heading element or an instance of an element with role <rref>heading</rref>.</p>
3331
3332
<p>If an author uses a script to submit a form based on a user action that would otherwise not trigger an <code>onsubmit</code> event (for example, a form submission triggered by the user changing a form element's value), the author SHOULD provide the user with advance notification of the behavior.</p>
3332
3333
<p><a>Assistive technologies</a> SHOULD enable users to quickly navigate to elements with role <code>form</code>.
3333
3334
[=User agents=] SHOULD treat elements with role <code>form</code> and an accessible name as navigational <a>landmarks</a>.
@@ -3388,7 +3389,7 @@ <h2>Definition of Roles</h2>
3388
3389
</tr>
3389
3390
<tr>
3390
3391
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
3391
-
<td class="role-namerequired">True</td>
3392
+
<td class="role-namerequired"></td>
3392
3393
</tr>
3393
3394
<tr>
3394
3395
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
@@ -3525,6 +3526,7 @@ <h2>Definition of Roles</h2>
3525
3526
<p>An unspecified value for <pref>aria-readonly</pref> does not imply that a <code>grid</code> or a <rref>gridcell</rref> contains editable content. For example, if a <code>grid</code> presents a collection of elements that are not editable, such as a collection of <rref>link</rref> elements representing dates in a datepicker, it is not necessary for the author to specify a value for <pref>aria-readonly</pref>.</p>
3526
3527
<p>Authors MAY indicate that a focusable <rref>gridcell</rref> is selectable as the object of an action with the <sref>aria-selected</sref> attribute. If the <code>grid</code> allows multiple <rref>gridcell</rref>s to be selected, the author SHOULD set <pref>aria-multiselectable</pref> to <code>true</code> on the element with role <code>grid</code>.</p>
3527
3528
<p>Since <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> can augment an element of the host language, a <code>grid</code> can reuse the elements and attributes of a native table, such as an HTML <code>table</code> element. For example, if an author applies the <code>grid</code> role to an HTML <code>table</code> element, the author does not need to apply the <rref>row</rref> and <rref>gridcell</rref> roles to the descendant HTML <code>tr</code> and <code>td</code> elements because the <a>user agent</a> will automatically make the appropriate translations. When the author is reusing a native host language table element and needs a <rref>gridcell</rref> element to span multiple rows or columns, the author SHOULD apply the appropriate host language attributes instead of <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> <pref>aria-rowspan</pref> or <pref>aria-colspan</pref> properties.</p>
3529
+
<p>Authors SHOULD provide an accessible name for a <code>grid</code>, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute. Authors SHOULD reference a visible label with <pref>aria-labelledby</pref> if a visible label is present for the <code>grid</code>.</p>
3528
3530
<p>See the <cite><a href="" class="practices"><abbr title="Accessible Rich Internet Applications">ARIA</abbr> Authoring Practices Guide</a></cite> for additional details on implementing grid design patterns.</p>
3529
3531
</div>
3530
3532
<table class="role-features">
@@ -3598,7 +3600,7 @@ <h2>Definition of Roles</h2>
3598
3600
</tr>
3599
3601
<tr>
3600
3602
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
3601
-
<td class="role-namerequired">True</td>
3603
+
<td class="role-namerequired"></td>
3602
3604
</tr>
3603
3605
<tr>
3604
3606
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
@@ -6495,6 +6497,7 @@ <h5>Presentational Role Inheritance</h5>
6495
6497
<p>A group of <rref>radio</rref> buttons.</p>
6496
6498
<p>A <code>radiogroup</code> is a type of <rref>select</rref> list that can only have a single entry checked at any one time. Authors SHOULD enforce that only one radio button in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (its <sref>aria-checked</sref> <a>attribute</a> becomes <code>false</code>).</p>
6497
6499
<!-- keep previous sentence synced with menuitemradio, etc. -->
6500
+
<p>Authors SHOULD provide an accessible name for a <code>radiogroup</code>, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute. Authors SHOULD reference a visible label with <pref>aria-labelledby</pref> if a visible label is present for the <code>radiogroup</code>.</p>
6498
6501
</div>
6499
6502
<table class="role-features">
6500
6503
<caption>Characteristics:</caption>
@@ -6558,7 +6561,7 @@ <h5>Presentational Role Inheritance</h5>
6558
6561
</tr>
6559
6562
<tr>
6560
6563
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
6561
-
<td class="role-namerequired">True</td>
6564
+
<td class="role-namerequired"></td>
6562
6565
</tr>
6563
6566
<tr>
6564
6567
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
@@ -8796,6 +8799,7 @@ <h5>Presentational Role Inheritance</h5>
8796
8799
<div class="role-description">
8797
8800
<p>A <rref>section</rref> containing data arranged in rows and columns. See related <rref>grid</rref>.</p>
8798
8801
<p>The <code>table</code> role is intended for tabular containers which are not interactive. If the tabular container maintains a selection state, provides its own two-dimensional navigation, or allows the user to rearrange or otherwise manipulate its contents or the display thereof, authors SHOULD use <rref>grid</rref> or <rref>treegrid</rref> instead.</p>
8802
+
<p>Authors SHOULD provide an accessible name for a <code>table</code>, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute. Authors SHOULD reference a visible label with <pref>aria-labelledby</pref> if a visible label is present for the <code>table</code>.</p>
8799
8803
<p>Authors SHOULD prefer the use of the host language's semantics for table whenever possible, such as the <code><[^table^]></code> element in HTML.</p>
8800
8804
</div>
8801
8805
<table class="role-features">
@@ -8864,7 +8868,7 @@ <h5>Presentational Role Inheritance</h5>
8864
8868
</tr>
8865
8869
<tr>
8866
8870
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
8867
-
<td class="role-namerequired">True</td>
8871
+
<td class="role-namerequired"></td>
8868
8872
</tr>
8869
8873
<tr>
8870
8874
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
0 commit comments