-
Notifications
You must be signed in to change notification settings - Fork 126
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
base: main
Are you sure you want to change the base?
Conversation
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> |
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.
the element MUST NOT be exposed unless the
the element or the element's role?
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.
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.
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.
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
@giacomo-petri I believe you need to rebase or cherry pick the commit from #2244 |
@pkra, it seems there are other stray end tags... |
Unassigning myself because I don't have the capacity to review a 30,000+ line diff. It won't render on GitHub because it's too large. |
Hmm yeah - We could probably review this by just looking at the commits (other than the prettier one). But it may be easier to just cherry pick them into a new PR. @spectranaut @pkra do you have any suggestions? |
@jnurthen not sure what's going on here. The prettier action should ignore the aria spec but it seems to have formatted it. We can try reverting the prettier commit. But if the actions are flaky, I'm wondering if it isn't time to bite the bullet and activate prettier on the ARIA spec as well (and update all PRs). Since I did that manually for the PRs from other specs, I should be able to do this for ARIA. |
…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.
14800a7
to
a58c662
Compare
✅ Deploy Preview for wai-aria ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
I reversed the prettier commit, rebased on main, and force-pushed here. It looks like this solved the prettier problem. @giacomo-petri, @jnurthen, @scottaohara, @cookiecrook could please take another look? |
Closes: #2233
Preview | Diff