Skip to content

Commit

Permalink
[ARIA] - remove name required from discussed roles
Browse files Browse the repository at this point in the history
closes #2180
related to recent question: #2296

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).
  • Loading branch information
scottaohara authored Jul 29, 2024
1 parent 4f38467 commit 1e9afe1
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -973,6 +973,7 @@ <h2>Definition of Roles</h2>
<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>
<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>
<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>
<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>
<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>
</div>
<table class="role-features">
Expand Down Expand Up @@ -1035,7 +1036,7 @@ <h2>Definition of Roles</h2>
</tr>
<tr>
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
<td class="role-namerequired">True</td>
<td class="role-namerequired"> </td>
</tr>
<tr>
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
Expand Down Expand Up @@ -2789,7 +2790,7 @@ <h2>Definition of Roles</h2>
<div class="role-description">
<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, i.e., the <code>body</code> element.</p>
<p>Dialogs are most often used to prompt the user to enter or respond to information. A dialog that is designed to interrupt workflow is usually modal. See related <rref>alertdialog</rref>.</p>
<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>
<p>Authors SHOULD provide an accessible name for a <code>dialog</code>, which can be done with the <pref>aria-label</pref> or <pref>aria-labelledby</pref> attribute.</p>
<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 manage focus of modal dialogs.</p>
<p class="note">In the description of this role, the term "web application" does not refer to the <rref>application</rref> role, which specifies specific assistive technology behaviors.</p>
</div>
Expand Down Expand Up @@ -2848,7 +2849,7 @@ <h2>Definition of Roles</h2>
</tr>
<tr>
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
<td class="role-namerequired">True</td>
<td class="role-namerequired"> </td>
</tr>
<tr>
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
Expand Down Expand Up @@ -3285,7 +3286,7 @@ <h2>Definition of Roles</h2>
<div class="role-description">
<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>
<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>
<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>
<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>
<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>
<p><a>Assistive technologies</a> SHOULD enable users to quickly navigate to elements with role <code>form</code>.
[=User agents=] SHOULD treat elements with role <code>form</code> and an accessible name as navigational <a>landmarks</a>.
Expand Down Expand Up @@ -3346,7 +3347,7 @@ <h2>Definition of Roles</h2>
</tr>
<tr>
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
<td class="role-namerequired">True</td>
<td class="role-namerequired"> </td>
</tr>
<tr>
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
Expand Down Expand Up @@ -3483,6 +3484,7 @@ <h2>Definition of Roles</h2>
<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>
<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>
<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>
<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>
<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>
</div>
<table class="role-features">
Expand Down Expand Up @@ -3556,7 +3558,7 @@ <h2>Definition of Roles</h2>
</tr>
<tr>
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
<td class="role-namerequired">True</td>
<td class="role-namerequired"> </td>
</tr>
<tr>
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
Expand Down Expand Up @@ -6452,6 +6454,7 @@ <h5>Presentational Role Inheritance</h5>
<p>A group of <rref>radio</rref> buttons.</p>
<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>
<!-- keep previous sentence synced with menuitemradio, etc. -->
<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>
</div>
<table class="role-features">
<caption>Characteristics:</caption>
Expand Down Expand Up @@ -6515,7 +6518,7 @@ <h5>Presentational Role Inheritance</h5>
</tr>
<tr>
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
<td class="role-namerequired">True</td>
<td class="role-namerequired"> </td>
</tr>
<tr>
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
Expand Down Expand Up @@ -8597,6 +8600,7 @@ <h5>Presentational Role Inheritance</h5>
<div class="role-description">
<p>A <rref>section</rref> containing data arranged in rows and columns. See related <rref>grid</rref>.</p>
<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>
<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>
<p>Authors SHOULD prefer the use of the host language's semantics for table whenever possible, such as the <code>&lt;[^table^]&gt;</code> element in HTML.</p>
</div>
<table class="role-features">
Expand Down Expand Up @@ -8665,7 +8669,7 @@ <h5>Presentational Role Inheritance</h5>
</tr>
<tr>
<th class="role-namerequired-head" scope="row">Accessible Name Required:</th>
<td class="role-namerequired">True</td>
<td class="role-namerequired"> </td>
</tr>
<tr>
<th class="role-namerequired-inherited-head" scope="row">Inherits Name Required:</th>
Expand Down

0 comments on commit 1e9afe1

Please sign in to comment.