From a2f5778f5646d075923538a7588bb2bd3e46ab24 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Fri, 29 Nov 2019 12:53:41 +0000 Subject: [PATCH] Issue #3087405 by andrewmacpherson, bnjmnm, phenaproxima, rainbreaw, annagaz, cboyden: For screenreader users using the media and media library UI, the words "remove" and "removed" sound too similar --- .../src/Plugin/Field/FieldWidget/MediaLibraryWidget.php | 4 +++- .../FunctionalJavascript/EntityReferenceWidgetTest.php | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php b/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php index 453d6180654a..ac9cb3b51056 100644 --- a/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php +++ b/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php @@ -667,7 +667,9 @@ public static function updateWidget(array $form, FormStateInterface $form_state) // Announce the updated content to screen readers. if ($is_remove_button) { - $announcement = t('Removed @label.', ['@label' => Media::load($field_state['removed_item_id'])->label()]); + $announcement = t('@label has been removed.', [ + '@label' => Media::load($field_state['removed_item_id'])->label(), + ]); } else { $new_items = count(static::getNewMediaItems($element, $form_state)); diff --git a/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php b/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php index 46d86181fd87..4d8ee6060f99 100644 --- a/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php +++ b/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php @@ -201,7 +201,7 @@ public function testWidget() { $button = $assert_session->buttonExists('Remove', $wrapper); $this->assertSame('Remove Dog', $button->getAttribute('aria-label')); $button->press(); - $this->waitForText('Removed Dog.'); + $this->waitForText('Dog has been removed.'); // Assert the focus is set back on the open button of the media field. $this->assertJsCondition('jQuery("#field_twin_media-media-library-wrapper .js-media-library-open-button").is(":focus")'); @@ -218,9 +218,9 @@ public function testWidget() { $assert_session->hiddenFieldValueEquals('field_twin_media[selection][0][target_id]', 4); $assert_session->hiddenFieldValueEquals('field_twin_media[selection][1][target_id]', 4); $wrapper->pressButton('Remove'); - $this->waitForText('Removed Dog.'); + $this->waitForText('Dog has been removed.'); $wrapper->pressButton('Remove'); - $this->waitForText('Removed Dog.'); + $this->waitForText('Dog has been removed.'); $result = $wrapper->waitFor(10, function ($wrapper) { /** @var \Behat\Mink\Element\NodeElement $wrapper */ return $wrapper->findButton('Remove') == NULL; @@ -302,7 +302,7 @@ public function testWidget() { $button = $assert_session->buttonExists('Remove', $wrapper); $this->assertSame('Remove Cat', $button->getAttribute('aria-label')); $button->press(); - $this->waitForText('Removed Cat.'); + $this->waitForText('Cat has been removed.'); // Assert the focus is set to the wrapper of the other selected item. $this->assertJsCondition('jQuery("#field_twin_media-media-library-wrapper [data-media-library-item-delta]").is(":focus")'); $assert_session->elementTextNotContains('css', '#field_twin_media-media-library-wrapper', 'Cat'); -- GitLab