Skip to content

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

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Update ARIA11 #1023

wants to merge 10 commits into from

Conversation

JAWS-test2
Copy link
Contributor

Fixes #919

Also:

  • Update and addition of links
  • Remove role=application (no landmark region)
  • Adding role=region
  • Adding the test for meaningful labeling

Base automatically changed from master to main March 5, 2021 20:42
@kfranqueiro kfranqueiro removed the request for review from michael-n-cooper May 5, 2025 13:17
Copy link

netlify bot commented May 5, 2025

Deploy Preview for wcag2 ready!

Name Link
🔨 Latest commit 5e345bd
🔍 Latest deploy log https://app.netlify.com/projects/wcag2/deploys/687eb5328d0b67000804dc33
😎 Deploy Preview https://deploy-preview-1023--wcag2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kfranqueiro
Copy link
Contributor

I synced this branch today while looking through old PRs, which required resolving conflicts:

  • In the list of landmarks, I only kept the banner change (which concerns the referenced bug); application had since been removed, navigation had since been changed to something similar to what was in this PR, and region had since been added. I did correct one duplicated word in the navigation item.
  • The modification of one line of the first example was no longer applicable as the example had changed
  • Preserved the addition to the test prodecure, although I wonder if items 3 and 4 could be merged?
  • Preserved the additions under related techniques
  • Preserved the changes to the first 3 resource links; the 4th is already pointing to a newer URL for what was added in this PR, and the 5th was added after this PR

See df64f09e for what was in the original commit of this PR.

kfranqueiro and others added 2 commits May 5, 2025 10:11
Co-authored-by: Scott O'Hara <scottaohara@users.noreply.github.com>
…nk text

Co-authored-by: Scott O'Hara <scottaohara@users.noreply.github.com>
@mbgower mbgower self-assigned this May 16, 2025
@bruce-usab
Copy link
Contributor

Discussed on backlog call 5/16. We did not resolve if "each landmark region" was equivalent to "same type of landmark".

@@ -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>
Copy link
Contributor

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>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<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>

Copy link
Contributor

@mbgower mbgower left a 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>
Copy link
Contributor

@mbgower mbgower Jul 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<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>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<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>
Copy link
Contributor

@mbgower mbgower Jul 21, 2025

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
Copy link
Contributor

mbgower commented Jul 25, 2025

@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>
Copy link
Contributor

@mbgower mbgower Jul 25, 2025

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?

Suggested change
<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>

Copy link
Contributor

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.

@giacomo-petri
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ARIA11 update the banner definition
7 participants