Update aria-busy to reflect relaxed accessibility child constraints when true#2754
Update aria-busy to reflect relaxed accessibility child constraints when true#2754giacomo-petri wants to merge 1 commit intomainfrom
Conversation
✅ Deploy Preview for wai-aria ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
🚀 Deployed on https://deploy-preview-2754--wai-aria.netlify.app |
| branches are modified. | ||
| If changes to a rendered <rref>widget</rref> would create a state where the <rref>widget</rref> is modifying <a>accessibility children</a> during script | ||
| execution, authors MAY set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> during the update process. While <code>aria-busy</code> is set to <code>true</code>, | ||
| the <rref>widget</rref> MAY temporarily contain invalid <a>accessibility children</a>. Authors MUST set <code>aria-busy</code> back to <code>false</code> once the update is complete. |
There was a problem hiding this comment.
The new MUST statement seems problematic to me. It does not seem testable since "once the update is complete" is an author decision.
I think it's more important to explain what happens when authors do not do this (e.g. AT may ignore the content marked busy).
I think a note, possibly including a warning on potential WCAG failures.
There was a problem hiding this comment.
In that case, I'd move the example into the note.
There was a problem hiding this comment.
I agree that the author MUST is not testable with an automated static or generic test. However, I believe it is testable. I proposed some revisions to the wording that I believe could improve clarity and thus testability.
I think a clear, normative authoring requirement is of this nature is important.
| execution, authors MAY set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> during the update process. For example, if a rendered tree grid required a set of | ||
| simultaneous updates to multiple discontiguous branches, an alternative to replacing the complete tree element with a single update would be to mark the tree busy while each of the | ||
| branches are modified. | ||
| If changes to a rendered <rref>widget</rref> would create a state where the <rref>widget</rref> is modifying <a>accessibility children</a> during script |
There was a problem hiding this comment.
| If changes to a rendered <rref>widget</rref> would create a state where the <rref>widget</rref> is modifying <a>accessibility children</a> during script | |
| If a script needs to change multiple <a>accessibility children</a> of a rendered <rref>widget</rref>, |
| simultaneous updates to multiple discontiguous branches, an alternative to replacing the complete tree element with a single update would be to mark the tree busy while each of the | ||
| branches are modified. | ||
| If changes to a rendered <rref>widget</rref> would create a state where the <rref>widget</rref> is modifying <a>accessibility children</a> during script | ||
| execution, authors MAY set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> during the update process. While <code>aria-busy</code> is set to <code>true</code>, |
There was a problem hiding this comment.
| execution, authors MAY set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> during the update process. While <code>aria-busy</code> is set to <code>true</code>, | |
| authors MAY temporarily set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> before the first change | |
| and then set it to <code>false</code> when script execution completes. | |
| While <code>aria-busy</code> is set to <code>true</code>, |
| branches are modified. | ||
| If changes to a rendered <rref>widget</rref> would create a state where the <rref>widget</rref> is modifying <a>accessibility children</a> during script | ||
| execution, authors MAY set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> during the update process. While <code>aria-busy</code> is set to <code>true</code>, | ||
| the <rref>widget</rref> MAY temporarily contain invalid <a>accessibility children</a>. Authors MUST set <code>aria-busy</code> back to <code>false</code> once the update is complete. |
There was a problem hiding this comment.
| the <rref>widget</rref> MAY temporarily contain invalid <a>accessibility children</a>. Authors MUST set <code>aria-busy</code> back to <code>false</code> once the update is complete. | |
| the <rref>widget</rref> MAY temporarily contain invalid <a>accessibility children</a>. | |
| Authors MUST ensure that <code>aria-busy</code> is set to <code>false</code> either when updates are complete or when error conditions prevent their completion. |
| branches are modified. | ||
| If changes to a rendered <rref>widget</rref> would create a state where the <rref>widget</rref> is modifying <a>accessibility children</a> during script | ||
| execution, authors MAY set <code>aria-busy</code> to <code>true</code> on the <rref>widget</rref> during the update process. While <code>aria-busy</code> is set to <code>true</code>, | ||
| the <rref>widget</rref> MAY temporarily contain invalid <a>accessibility children</a>. Authors MUST set <code>aria-busy</code> back to <code>false</code> once the update is complete. |
There was a problem hiding this comment.
I agree that the author MUST is not testable with an automated static or generic test. However, I believe it is testable. I proposed some revisions to the wording that I believe could improve clarity and thus testability.
I think a clear, normative authoring requirement is of this nature is important.
🚀 Netlify Preview:
🔄 this PR updates the following sspecs:
Closes #2737
This PR updates
aria-busycontent:aria-busyis set totrue, permitting a temporarily non-conformant accessibility child structure during the update process, as discussed in the ARIA WG meetingTest, Documentation and Implementation tracking
Once this PR has been reviewed and has consensus from the working group, tests should be written and issues should be opened on browsers. Add N/A and check when not applicable.