Updated: Comment #1

Problem/Motivation

The content translation settings UI is a really complex and, most of all, dynamic UI. Enabling a checkbox, for instance, can make a new table in a different place show up (e.g. enabling translation for a certain entity type) or simply make other table rows show up (e.g. enabling translation for a certain entity bundle make its field translation settings show up in the same table).. Vice-versa, disabling checkboxes make the same elements hidden to the user.

Proposed resolution

These are really dynamic changes and we should inform screen reader users about them, otherwise they will have a lot of troubles understanding how the UI works. Luckily, we have a Javascript utility that has been created exactly for this purpose: informing screen reader users of dynamic content changes. It is the Drupal.announce() utility and the Content translation settings UI should leverage it whenever the UI changes dynamically.

Remaining tasks

TBD

User interface changes

Yes. Screenreader interface changes to announce parts that are live, when they change.

API changes

No.

Comments

YesCT’s picture

I saw Jesse Beach's presentation at Twin Cities Drupal Camp and she talked about announce and I thought of this configurations settings page too!
Seems like a good use of it.

I'll update the issue summary with some related issues.

YesCT’s picture

Is this a duplicate of (but a specific strategy suggestion for) #1854030: Add hint to translation settings page when tables appear off screen

We could do sighted hint in that issue, and audio in this one.

falcon03’s picture

@YesCT: thanks for updating the issue summary.

Both issues are quite related, but they are very different at the same time. Screen reader users should be informed about these dynamic changes in any case, while sighted users need hint only in certain conditions. Also, screen reader users should be informed when new rows appear in the same table that the cursor is placed in, while this is not necessary for sighted users.

So, long story short, let's fix the behavior for screen reader users in this issue and for sighted users in the one you linked in the previous comment.

jessebeach’s picture

Adding and removing rows from a table might be best addressed by adding aria-live to that table directly.

We could use aria-relevant and register for additions and removals from the table.

aria-relevant: The aria-relevant=[LIST_OF_CHANGES] is used to set what types of changes are relevant to a live region - the possible settings are additions/removals/text/all where "additions text" is the default.

That quote is from https://developer.mozilla.org/en-US/docs/Accessibility/ARIA/ARIA_Live_Re...

jessebeach’s picture

Issue summary: View changes

added related issues and got the issue summary template.

mgifford’s picture

Version: 8.0.x-dev » 8.1.x-dev
Status: Active » Postponed

Would be great to see this in 8.0, but not sure it's going to happen at this time.

mgifford’s picture

Issue summary: View changes
Issue tags: +Drupal.announce
mgifford’s picture

Status: Postponed » Active

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.0-beta1 was released on March 2, 2016, which means new developments and disruptive changes should now be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.0-beta1 was released on August 3, 2016, which means new developments and disruptive changes should now be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.0-alpha1 will be released the week of January 30, 2017, which means new developments and disruptive changes should now be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.