Skip to content
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

Presentational Roles Conflict Resolution - global WAI-ARIA states or properties on inherited presentational roles #2237

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

Conversation

giacomo-petri
Copy link
Contributor

@giacomo-petri giacomo-petri commented Jun 7, 2024

Closes: #2233

  • clarified global WAI-ARIA states or properties on inherited presentational roles
  • reorganized the structure of the 3rd bullet to visually and semantically emphasize that the examples below strictly refer to this bullet. The final paragraph related to the author's responsibility is instead applicable to all points.

Preview | Diff

…ional roles

- clarified global WAI-ARIA states or properties on inherited presentational roles
- reorganized the structure of the 3rd bullet to visually and semantically emphasize that the examples below strictly refer to this bullet. The final paragraph related to the author's responsibility is instead applicable to all points.
@giacomo-petri giacomo-petri self-assigned this Jun 7, 2024
@jnurthen jnurthen self-requested a review June 13, 2024 17:12
@cookiecrook cookiecrook self-requested a review June 13, 2024 17:12
index.html Outdated
@@ -13524,16 +13524,18 @@ <h3>Presentational Roles Conflict Resolution</h3>
<ul>
<li>If an element is focusable, user agents MUST ignore the <rref>none</rref>/<rref>presentation</rref> role and expose the element with its implicit role, in order to ensure that the element is <a>operable</a>.</li>
<li>If an <a href="#mustContain">allowed child element</a> has an explicit non-presentational role, user agents MUST ignore an inherited presentational role and expose the element with its explicit role. If the action of exposing the explicit role causes the accessibility tree to be malformed, the expected results are undefined.</li>
<li>If an element has <a>global</a> WAI-ARIA states or properties, user agents MUST ignore the <rref>none</rref>/<rref>presentation</rref> role and instead expose the element's implicit role. However, if an element has only non-global, role-specific WAI-ARIA states or properties, the element MUST NOT be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.</li>
<li>
<p>If an element with an explicit presentational role has <a>global</a> WAI-ARIA states or properties, user agents MUST ignore the <rref>none</rref>/<rref>presentation</rref> role and instead expose the element's implicit role. Conversely, if the presentational role is inherited and the element has <a>global</a> WAI-ARIA states or properties, user agents MUST NOT expose the element, maintaining its presentational role regardless of any <a>global</a> ARIA state or property. However, if an element has only non-global, role-specific WAI-ARIA states or properties, the element MUST NOT be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.</p>
Copy link
Member

Choose a reason for hiding this comment

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

the element MUST NOT be exposed unless the

the element or the element's role?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point, Scott!
While looking through the ARIA specifications, I found similar wording and re-used it, assuming the intent was to not expose the element's role rather than the element itself (I can't recall the exact location right now). This interpretation seems supported by the following statement:

Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

But I'm more than happy to use your wording to clarify that we do not expect the content to be ignored, only the element's role.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh, I found it! It was the original statement I didn't change:

However, if an element has only non-global, role-specific WAI-ARIA states or properties, the element MUST NOT be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.

I'll update both

index.html Outdated Show resolved Hide resolved
@pkra pkra added the spec:aria label Jun 14, 2024
@pkra
Copy link
Member

pkra commented Jun 14, 2024

@giacomo-petri I believe you need to rebase or cherry pick the commit from #2244

@giacomo-petri
Copy link
Contributor Author

@pkra, it seems there are other stray end tags...

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