From 2722662e6be32ef3cb4c04b9a6650f35038a9ffb Mon Sep 17 00:00:00 2001 From: Rami Yushuvaev Date: Tue, 5 May 2026 18:48:21 +0300 Subject: [PATCH] Fix: accessible table checkbox - select row & select all --- .../SelectSnippets/SnippetSelectionTable.tsx | 83 ++++++++++--------- .../common/ListTable/TableItems.tsx | 5 ++ 2 files changed, 49 insertions(+), 39 deletions(-) diff --git a/src/js/components/ImportMenu/UploadForm/SelectSnippets/SnippetSelectionTable.tsx b/src/js/components/ImportMenu/UploadForm/SelectSnippets/SnippetSelectionTable.tsx index 6fcc94ca..77389a0a 100644 --- a/src/js/components/ImportMenu/UploadForm/SelectSnippets/SnippetSelectionTable.tsx +++ b/src/js/components/ImportMenu/UploadForm/SelectSnippets/SnippetSelectionTable.tsx @@ -25,44 +25,49 @@ export const SnippetSelectionTable: React.FC = ({ snippets, selection: { selectedItems, isAllSelected, toggleItem, selectAll } }) => - <> - - - -
- + + + + + + + + + + + + {snippets.map(snippet => + + - - - - + + + + - - - {snippets.map(snippet => - - - - - - - - )} - -
+ + + {__('Name', 'code-snippets')}{__('Type', 'code-snippets')}{__('Description', 'code-snippets')}{__('Tags', 'code-snippets')}
+ + toggleItem(snippet.table_data.id)} + /> {__('Name', 'code-snippets')}{__('Type', 'code-snippets')}{__('Description', 'code-snippets')}{__('Tags', 'code-snippets')} + {snippet.table_data.title} + {snippet.source_file &&
+ {sprintf( + // translators: %s: source file name. + _x('from %s', 'import snippet source file', 'code-snippets'), + snippet.source_file + )} +
} +
{snippet.table_data.type}{truncateDescription(snippet.table_data.description)}{snippet.table_data.tags || '—'}
- toggleItem(snippet.table_data.id)} - /> - - {snippet.table_data.title} - {snippet.source_file &&
- {sprintf( - // translators: %s: source file name. - _x('from %s', 'import snippet source file', 'code-snippets'), - snippet.source_file - )} -
} -
{snippet.table_data.type}{truncateDescription(snippet.table_data.description)}{snippet.table_data.tags || '—'}
- + )} + +
diff --git a/src/js/components/common/ListTable/TableItems.tsx b/src/js/components/common/ListTable/TableItems.tsx index 7e71982c..5b8e67b1 100644 --- a/src/js/components/common/ListTable/TableItems.tsx +++ b/src/js/components/common/ListTable/TableItems.tsx @@ -1,5 +1,6 @@ import React from 'react' import classnames from 'classnames' +import { __ } from '@wordpress/i18n' import type { Dispatch, Key, SetStateAction } from 'react' import type { ListTableColumn, ListTableItemsProps } from './ListTable' @@ -10,7 +11,11 @@ interface CheckboxCellProps extends Pick const CheckboxCell = ({ item, setSelected, getKey }: CheckboxCellProps) => + {