[MM-62971][MM-63017] Search box accessibility fixes (#30910)
* [MM-62971] Add role='button' and focusability to the file suggestion list items * [MM-63017] Add aria-label to Close button in Search
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
7efb83396b
Коммит
0e806bf8e8
@@ -110,15 +110,34 @@ SuggestionProps<ExtensionItem>
|
|||||||
onClick(item.value, matchedPretext);
|
onClick(item.value, matchedPretext);
|
||||||
}, [onClick, item.value, matchedPretext]);
|
}, [onClick, item.value, matchedPretext]);
|
||||||
|
|
||||||
|
const handleKeyDown = useCallback((e: React.KeyboardEvent) => {
|
||||||
|
if (e.key === 'Enter' || e.key === ' ') {
|
||||||
|
e.preventDefault();
|
||||||
|
optionClicked();
|
||||||
|
}
|
||||||
|
}, [optionClicked]);
|
||||||
|
|
||||||
const labelName = messages[item.type] ?
|
const labelName = messages[item.type] ?
|
||||||
intl.formatMessage(messages[item.type]) :
|
intl.formatMessage(messages[item.type]) :
|
||||||
item.type;
|
item.type;
|
||||||
|
|
||||||
|
const ariaLabel = intl.formatMessage({
|
||||||
|
id: 'search_file_extension_suggestion.aria_label',
|
||||||
|
defaultMessage: '{fileType} (.{extension})',
|
||||||
|
}, {
|
||||||
|
fileType: labelName,
|
||||||
|
extension: item.value,
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SearchFileExtensionSuggestionContainer
|
<SearchFileExtensionSuggestionContainer
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className={classNames({selected: isSelection})}
|
className={classNames({selected: isSelection})}
|
||||||
onClick={optionClicked}
|
onClick={optionClicked}
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
|
role='button'
|
||||||
|
tabIndex={0}
|
||||||
|
aria-label={ariaLabel}
|
||||||
>
|
>
|
||||||
<div className={classNames('file-icon', getCompassIconClassName(item.type))}/>
|
<div className={classNames('file-icon', getCompassIconClassName(item.type))}/>
|
||||||
{labelName}
|
{labelName}
|
||||||
|
|||||||
@@ -279,6 +279,10 @@ const SearchBox = forwardRef(
|
|||||||
data-testid='searchBoxClose'
|
data-testid='searchBoxClose'
|
||||||
className='btn btn-icon btn-m'
|
className='btn btn-icon btn-m'
|
||||||
onClick={closeHandler}
|
onClick={closeHandler}
|
||||||
|
aria-label={intl.formatMessage({
|
||||||
|
id: 'search_bar.close',
|
||||||
|
defaultMessage: 'Close',
|
||||||
|
})}
|
||||||
>
|
>
|
||||||
<i className='icon icon-close'/>
|
<i className='icon icon-close'/>
|
||||||
</CloseIcon>
|
</CloseIcon>
|
||||||
|
|||||||
@@ -5037,6 +5037,7 @@
|
|||||||
"scheduledPosts.title": "{prefix}Scheduled - {displayName} {siteName}",
|
"scheduledPosts.title": "{prefix}Scheduled - {displayName} {siteName}",
|
||||||
"search_bar.channels": "Channels",
|
"search_bar.channels": "Channels",
|
||||||
"search_bar.clear": "Clear",
|
"search_bar.clear": "Clear",
|
||||||
|
"search_bar.close": "Close",
|
||||||
"search_bar.file_types": "File types",
|
"search_bar.file_types": "File types",
|
||||||
"search_bar.files_tab": "Files",
|
"search_bar.files_tab": "Files",
|
||||||
"search_bar.messages_tab": "Messages",
|
"search_bar.messages_tab": "Messages",
|
||||||
@@ -5054,6 +5055,7 @@
|
|||||||
"search_bar.usage.title_files": "File search options",
|
"search_bar.usage.title_files": "File search options",
|
||||||
"search_bar.usage.title_messages": "Message search options",
|
"search_bar.usage.title_messages": "Message search options",
|
||||||
"search_bar.users": "Users",
|
"search_bar.users": "Users",
|
||||||
|
"search_file_extension_suggestion.aria_label": "{fileType} (.{extension})",
|
||||||
"search_files_list_option.after": "Files after a date",
|
"search_files_list_option.after": "Files after a date",
|
||||||
"search_files_list_option.before": "Files before a date",
|
"search_files_list_option.before": "Files before a date",
|
||||||
"search_files_list_option.exclude": "Exclude search terms",
|
"search_files_list_option.exclude": "Exclude search terms",
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user