Problem/Motivation

When @cboyden's team did an assistive tech walkthrough of Media Library for #2834729: [META] Roadmap to stabilize Media Library using NVDA on Firefox, we discovered that a screenreader user experiences a confusing DOM after adding files through the media library modal and returning to the node form.

What is good:
After closing the modal, we return the users to the add media button that they used to load the media.

What isn't good:
If the screenreader user wants to go through what they already added, review, and/or consider removing items, they have to know to tab backwards instead of forwards, which isn't what they would naturally think to do.

This interaction can be viewed on the video recording of the September 29, 2019 walkthrough of Media Library at around minute 30.

Proposed resolution

There are a couple of possible approaches to this:

  1. (preferred) Adjust the DOM so that the add media button is above the list of added media
  2. (risky because can introduce new problems) Adjust tabindex so that the list of media items is below the button

Option 1 above means a change to the user interface, as the list of added items would appear below the add button instead of above. I've tagged Usability because this does have overall UX implications, since it is different from the standard patterns in the overall experience.

Remaining tasks

  • Select the preferred resolution and implement.

User interface changes

Potential impact if the DOM is changed.

API changes

None anticipated.

Data model changes

None anticipated.

Release notes snippet

TBD

Comments

rainbreaw created an issue. See original summary.

rainbreaw’s picture

Issue summary: View changes
phenaproxima’s picture

This is somewhat mitigated by the fact that, as of #3087456: Move some representational classes in Media Library to Classy and others to Seven and/or Claro, as appropriate, the media library widget's layout can be overridden by themes. This means that sites can move the button wherever they want, if desired.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.