Commit 725b170334b for woocommerce
commit 725b170334be436a533ae766b914d73405641fd5
Author: Tung Du <dinhtungdu@gmail.com>
Date: Mon May 11 16:34:17 2026 +0700
Add ariaLabel to attribute, status, and taxonomy product filter items (#64693)
* Add ariaLabel to attribute, status, and taxonomy product filter items
* Add changelog for product filter ariaLabel enhancement
* Add changefile(s) from automation for the following project(s): woocommerce
* Simplify ariaLabel to use plain label without count
* Remove duplicate changelog entry
---------
Co-authored-by: woocommercebot <woocommercebot@users.noreply.github.com>
diff --git a/plugins/woocommerce/changelog/64693-fix-product-filter-aria-labels b/plugins/woocommerce/changelog/64693-fix-product-filter-aria-labels
new file mode 100644
index 00000000000..ddab040ec9b
--- /dev/null
+++ b/plugins/woocommerce/changelog/64693-fix-product-filter-aria-labels
@@ -0,0 +1,4 @@
+Significance: patch
+Type: enhancement
+
+Add ariaLabel to attribute, status, and taxonomy product filter items for improved screen reader accessibility
\ No newline at end of file
diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterAttribute.php b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterAttribute.php
index 1ab7c8284e7..e69e8841abe 100644
--- a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterAttribute.php
+++ b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterAttribute.php
@@ -202,6 +202,7 @@ final class ProductFilterAttribute extends AbstractBlock {
$item = array(
'id' => $type . '-' . $term['slug'],
'label' => $term['name'],
+ 'ariaLabel' => $term['name'],
'value' => $term['slug'],
'selected' => in_array( $term['slug'], $selected_terms, true ),
'type' => $type,
diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterStatus.php b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterStatus.php
index 142dac83021..56e2488c49c 100644
--- a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterStatus.php
+++ b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterStatus.php
@@ -111,12 +111,14 @@ final class ProductFilterStatus extends AbstractBlock {
$show_counts = $attributes['showCounts'] ?? false;
$filter_options = array_map(
function ( $item ) use ( $stock_statuses, $selected_stock_statuses, $show_counts ) {
+ $label = $stock_statuses[ $item['status'] ];
$option = array(
- 'id' => 'status-' . $item['status'],
- 'label' => $stock_statuses[ $item['status'] ],
- 'value' => $item['status'],
- 'selected' => in_array( $item['status'], $selected_stock_statuses, true ),
- 'type' => 'status',
+ 'id' => 'status-' . $item['status'],
+ 'label' => $label,
+ 'ariaLabel' => $label,
+ 'value' => $item['status'],
+ 'selected' => in_array( $item['status'], $selected_stock_statuses, true ),
+ 'type' => 'status',
);
if ( $show_counts ) {
diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterTaxonomy.php b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterTaxonomy.php
index 41d7ad5dca6..d569892218c 100644
--- a/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterTaxonomy.php
+++ b/plugins/woocommerce/src/Blocks/BlockTypes/ProductFilterTaxonomy.php
@@ -246,11 +246,12 @@ final class ProductFilterTaxonomy extends AbstractBlock {
$type = 'taxonomy/' . $taxonomy;
$option = array(
- 'id' => $type . '-' . $term['slug'],
- 'label' => $term['name'],
- 'value' => $term['slug'],
- 'selected' => in_array( $term['slug'], $selected_terms, true ),
- 'type' => $type,
+ 'id' => $type . '-' . $term['slug'],
+ 'label' => $term['name'],
+ 'ariaLabel' => $term['name'],
+ 'value' => $term['slug'],
+ 'selected' => in_array( $term['slug'], $selected_terms, true ),
+ 'type' => $type,
);
if ( $show_counts ) {