Skip to content

Commit efa1b2f

Browse files
committed
Merge remote-tracking branch 'origin/BUG#AC-1285' into gl_pr_accessibility_release244_nov23_2021
2 parents a7801da + dd52869 commit efa1b2f

File tree

9 files changed

+35
-18
lines changed

9 files changed

+35
-18
lines changed

app/code/Magento/Backend/Block/Widget/Button/SplitButton.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,12 @@ public function getToggleAttributesHtml()
164164
if ($disabled) {
165165
$classes[] = $disabled;
166166
}
167-
168-
$attributes = ['title' => $title, 'class' => join(' ', $classes), 'disabled' => $disabled];
167+
$attributes = [
168+
'title' => $title,
169+
'class' => join(' ', $classes),
170+
'disabled' => $disabled,
171+
'aria-label' => $this->getData('dropdown_button_aria_label') ?: '',
172+
];
169173
$this->_getDataAttributes(['mage-init' => '{"dropdown": {}}', 'toggle' => 'dropdown'], $attributes);
170174

171175
$html = $this->_getAttributesString($attributes);

app/code/Magento/Catalog/Block/Adminhtml/Product.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ protected function _prepareLayout()
5959
'button_class' => '',
6060
'class_name' => \Magento\Backend\Block\Widget\Button\SplitButton::class,
6161
'options' => $this->_getAddProductButtonOptions(),
62+
'dropdown_button_aria_label' => __('Add product of type'),
6263
];
6364
$this->buttonList->add('add_new', $addButtonProps);
6465

app/code/Magento/Cms/Block/Adminhtml/Block/Edit/SaveButton.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface;
99
use Magento\Ui\Component\Control\Container;
1010

11-
/**
12-
* Class SaveButton
13-
* @package Magento\Customer\Block\Adminhtml\Edit
14-
*/
1511
class SaveButton extends GenericButton implements ButtonProviderInterface
1612
{
1713
/**
14+
* Get button data
15+
*
1816
* @return array
1917
*/
2018
public function getButtonData()
@@ -42,6 +40,7 @@ public function getButtonData()
4240
],
4341
'class_name' => Container::SPLIT_BUTTON,
4442
'options' => $this->getOptions(),
43+
'dropdown_button_aria_label' => __('Save options'),
4544
];
4645
}
4746

app/code/Magento/Cms/Block/Adminhtml/Page/Edit/SaveButton.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
use Magento\Framework\View\Element\UiComponent\Control\ButtonProviderInterface;
99
use Magento\Ui\Component\Control\Container;
1010

11-
/**
12-
* Class SaveButton
13-
* @package Magento\Customer\Block\Adminhtml\Edit
14-
*/
1511
class SaveButton extends GenericButton implements ButtonProviderInterface
1612
{
1713
/**
14+
* Get button data
15+
*
1816
* @return array
1917
*/
2018
public function getButtonData()
@@ -40,6 +38,7 @@ public function getButtonData()
4038
'class_name' => Container::SPLIT_BUTTON,
4139
'options' => $this->getOptions(),
4240
'sort_order' => 90,
41+
'dropdown_button_aria_label' => __('Save options'),
4342
];
4443
}
4544

app/code/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Button/Save.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
use Magento\Catalog\Block\Adminhtml\Product\Edit\Button\Generic;
1010
use Magento\ConfigurableProduct\Model\Product\Type\Configurable as ConfigurableType;
1111

12-
/**
13-
* Class Save
14-
*/
1512
class Save extends Generic
1613
{
1714
/**
@@ -43,6 +40,7 @@ public function getButtonData()
4340
],
4441
'class_name' => Container::SPLIT_BUTTON,
4542
'options' => $this->getOptions(),
43+
'dropdown_button_aria_label' => __('Save options'),
4644
];
4745
}
4846

app/code/Magento/ConfigurableProduct/Test/Unit/Block/Adminhtml/Product/Edit/Button/SaveTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,6 @@ public function testGetButtonData()
6363

6464
$this->assertArrayHasKey('data_attribute', $result);
6565
$this->assertArrayHasKey('options', $result);
66+
$this->assertArrayHasKey('dropdown_button_aria_label', $result);
6667
}
6768
}

app/code/Magento/Ui/Component/Control/SplitButton.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,12 @@ public function getToggleAttributesHtml()
161161
$classes[] = $disabled;
162162
}
163163

164-
$attributes = ['title' => $title, 'class' => join(' ', $classes), 'disabled' => $disabled];
164+
$attributes = [
165+
'title' => $title,
166+
'class' => join(' ', $classes),
167+
'disabled' => $disabled,
168+
'aria-label' => $this->getData('dropdown_button_aria_label') ?: '',
169+
];
165170
$this->getDataAttributes(['mage-init' => '{"dropdown": {}}', 'toggle' => 'dropdown'], $attributes);
166171

167172
$html = $this->attributesToHtml($attributes);

dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Button/SplitButtonTest.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ public function testToHtml(): void
7474
'onclick' => $onclick = 'console.log("option")',
7575
'style' => 'width: 100px'
7676
]
77-
]
77+
],
78+
'dropdown_button_aria_label' => 'Split button options',
7879
]
7980
);
8081

@@ -83,8 +84,12 @@ public function testToHtml(): void
8384
$this->assertStringContainsString('<span>A button</span>', $html);
8485
$this->assertStringNotContainsString('onclick=', $html);
8586
$this->assertStringNotContainsString('style=', $html);
86-
$this->assertMatchesRegularExpression('/\<script.*?\>.*?' . preg_quote($onclick) . '.*?\<\/script\>/ims', $html);
87+
$this->assertMatchesRegularExpression(
88+
'/\<script.*?\>.*?' . preg_quote($onclick) . '.*?\<\/script\>/ims',
89+
$html
90+
);
8791
$this->assertStringContainsString('width', $html);
8892
$this->assertStringContainsString('100px', $html);
93+
$this->assertStringContainsString('aria-label="Split button options"', $html);
8994
}
9095
}

dev/tests/integration/testsuite/Magento/Ui/Component/Control/SplitButtonTest.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ public function testToHtml(): void
7676
'onclick' => $onclick = 'console.log("option")',
7777
'style' => 'width: 100px'
7878
]
79-
]
79+
],
80+
'dropdown_button_aria_label' => 'Split button options',
8081
]
8182
);
8283

@@ -85,8 +86,12 @@ public function testToHtml(): void
8586
$this->assertStringContainsString('<span>Split button control</span>', $html);
8687
$this->assertStringNotContainsString('onclick=', $html);
8788
$this->assertStringNotContainsString('style=', $html);
88-
$this->assertMatchesRegularExpression('/\<script.*?\>.*?' . preg_quote($onclick) . '.*?\<\/script\>/ims', $html);
89+
$this->assertMatchesRegularExpression(
90+
'/\<script.*?\>.*?' . preg_quote($onclick) . '.*?\<\/script\>/ims',
91+
$html
92+
);
8993
$this->assertStringContainsString('width', $html);
9094
$this->assertStringContainsString('100px', $html);
95+
$this->assertStringContainsString('aria-label="Split button options"', $html);
9196
}
9297
}

0 commit comments

Comments
 (0)