-
Notifications
You must be signed in to change notification settings - Fork 302
Update ARIA11 #1023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Update ARIA11 #1023
Conversation
✅ Deploy Preview for wcag2 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
I synced this branch today while looking through old PRs, which required resolving conflicts:
See df64f09e for what was in the original commit of this PR. |
Co-authored-by: Scott O'Hara <scottaohara@users.noreply.github.com>
…nk text Co-authored-by: Scott O'Hara <scottaohara@users.noreply.github.com>
Discussed on backlog call 5/16. We did not resolve if "each landmark region" was equivalent to "same type of landmark". |
Co-authored-by: Kenneth G. Franqueiro <kfranqueiro@users.noreply.github.com>
@@ -112,12 +112,13 @@ <h3>Procedure</h3> | |||
<li>Examine each element with a <a href="https://www.w3.org/TR/wai-aria/#landmark_roles">landmark role</a>.</li> | |||
<li>Examine whether the correct element has been used to mark up content. For example: a <code class="language-html">navigation</code> role has been used to mark up a section with navigation links, or the <code class="language-html">main</code> role is used to contain the page's main content.</li> | |||
<li>If a landmark region needs to have an accessible name to be exposed as a landmark, check to see that there is an accessible name.</li> | |||
<li>If the same type of landmark appears multiple times on the page, check that each one is labelled meaningfully.</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In step 3 we talk about accessible name. In step 4 we talk about "labelled meaningfully".
Should we try to make the language more consistent?
The procedure is a little atypical in its construction. We could try to make it more usual, but it's not crucial
@@ -112,12 +112,13 @@ <h3>Procedure</h3> | |||
<li>Examine each element with a <a href="https://www.w3.org/TR/wai-aria/#landmark_roles">landmark role</a>.</li> | |||
<li>Examine whether the correct element has been used to mark up content. For example: a <code class="language-html">navigation</code> role has been used to mark up a section with navigation links, or the <code class="language-html">main</code> role is used to contain the page's main content.</li> | |||
<li>If a landmark region needs to have an accessible name to be exposed as a landmark, check to see that there is an accessible name.</li> | |||
<li>If the same type of landmark appears multiple times on the page, check that each one is labelled meaningfully.</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<li>If the same type of landmark appears multiple times on the page, check that each one is labelled meaningfully.</li> | |
<li>If the same type of landmark appears multiple times on the page, check that each one is given a unique and meaningful accessible name.</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seems to be a bit of friction between how "name" is used in this document. There is also inconsistency with how "label" and "accessible name" are used. I am making some suggestions to try to improve.
@@ -22,8 +22,8 @@ <h1>Using ARIA landmarks to identify regions of a page</h1> | |||
</p> | |||
<p>Landmarks are inserted into the page using the role attribute on an element that marks the section. The value of the attribute is the name of the landmark. These role values are listed below. For HTML mappings of landmark roles, refer to the <cite>Rules of ARIA attribute usage by HTML element</cite> table in the <a href="https://www.w3.org/TR/html-aria/">ARIA In HTML recommendation</a>.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Landmarks are inserted into the page using the role attribute on an element that marks the section. The value of the attribute is the name of the landmark. These role values are listed below. For HTML mappings of landmark roles, refer to the <cite>Rules of ARIA attribute usage by HTML element</cite> table in the <a href="https://www.w3.org/TR/html-aria/">ARIA In HTML recommendation</a>.</p> | |
<p>Landmarks are inserted into the page using the role attribute on an element that marks the section. The value of the attribute designates the type of landmark. These role values are listed below. For HTML mappings of landmark roles, refer to the <cite>Rules of ARIA attribute usage by HTML element</cite> table in the <a href="https://www.w3.org/TR/html-aria/">ARIA In HTML recommendation</a>.</p> |
<li><code class="language-html">banner</code>: A region that contains the prime heading or internal title of a page.</li> | ||
<li><code class="language-html">navigation</code>: A region that contains navigation links links to other pages or different parts of the same page.</li> | ||
<li><code class="language-html">banner</code>: A region that contains mostly site-oriented content, such as the logo or a site-specific search tool.</li> | ||
<li><code class="language-html">navigation</code>: A region that contains navigation links to other pages or different parts of the same page.</li> | ||
<li><code class="language-html">main</code>: A region that contains a page's main content.</li> | ||
<li><code class="language-html">region</code>: A region that contains a perceivable section of the page containing content that is sufficiently important for users to be able to navigate to the section. A <code class="language-html">region</code> landmark isn't exposed as a landmark region unless it has an accessible name.</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<li><code class="language-html">region</code>: A region that contains a perceivable section of the page containing content that is sufficiently important for users to be able to navigate to the section. A <code class="language-html">region</code> landmark isn't exposed as a landmark region unless it has an accessible name.</li> | |
<li><code class="language-html">region</code>: A region that contains a perceivable section of the page containing content that is sufficiently important for users to be able to navigate to the section. A <code class="language-html">region</code> landmark isn't exposed as a landmark region unless it has an accessible name, often provided using <code class="language-html">aria-label</code> or <code class="language-html">aria-labelledby</code>.</li> |
spelled labeling with only one L not two together (which I think is American usage?) Changed the first use of "label" to "name" to try to better tie in the idea that one typically provides an accessible name for a region through use of an aria label technique.
@@ -32,7 +32,7 @@ <h1>Using ARIA landmarks to identify regions of a page</h1> | |||
<li><code class="language-html">contentinfo</code>: A region that contains information about the parent document such as copyrights and links to privacy statements.</li> | |||
</ul> | |||
|
|||
<p>There are cases when a particular landmark role could be used more than once on a page, such as on primary and secondary blocks of navigation. In these cases, identical roles should be labeled using a valid technique for labelling regions.</p> | |||
<p>There are cases when a particular landmark role could be used more than once on a page, such as on primary and secondary blocks of navigation. In these cases, identical roles should be named using a valid technique for labeling regions.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that I meant to put this in as a suggestion, so flagging that it is commited. If there is agreement with the change, it can stand.
@mbgower to copy over phrase |
<li><code class="language-html">banner</code>: A region that contains the prime heading or internal title of a page.</li> | ||
<li><code class="language-html">navigation</code>: A region that contains navigation links links to other pages or different parts of the same page.</li> | ||
<li><code class="language-html">banner</code>: A region that contains mostly site-oriented content, such as the logo or a site-specific search tool.</li> | ||
<li><code class="language-html">navigation</code>: A region that contains navigation links to other pages or different parts of the same page.</li> | ||
<li><code class="language-html">main</code>: A region that contains a page's main content.</li> | ||
<li><code class="language-html">region</code>: A region that contains a perceivable section of the page containing content that is sufficiently important for users to be able to navigate to the section. A <code class="language-html">region</code> landmark isn't exposed as a landmark region unless it has an accessible name.</li> | ||
<li><code class="language-html">form</code>: A region of the document that represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing.</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per TF discussion, repeating the same final sentence as in regions, which was also stated as valid for forms. However, @giacomo-petri, looking at https://www.w3.org/TR/wai-aria-1.2/#form it seems like there must be a label? Is the following actually true?
<li><code class="language-html">form</code>: A region of the document that represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing.</li> | |
<li><code class="language-html">form</code>: A region of the document that represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing. A <code class="language-html">form</code> landmark isn't exposed as a landmark region unless it has an accessible name.</li></li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few notes:
According to ARIA specifications, both the region and form roles require an accessible name provided by the author:
This requirement remains in ARIA 1.3 as well:
However, with the proposed change in this PR w3c/aria#2297, the form role may no longer require an accessible name in the future.
That said, according to the Core AAM (https://w3c.github.io/core-aam/#role-map-form-nameless), a form element without an accessible name will not be exposed as a landmark.
We also need to update lines 49 and 51 in Example 1, as they are not handled as landmarks (missing acc name), even though the title suggests otherwise. |
Fixes #919
Also:
role=application
(no landmark region)role=region