Skip to content

Commit 66ce969

Browse files
committed
update labeling so it uses hook
1 parent 59f0c5d commit 66ce969

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"moreActions": "المزيد من الإجراءات",
33
"unavailable": "غير مُتوفر، قُم بالتوسيع للحصول على التفاصيل",
4-
"backButton": "Return to {prevMenuButton}"
4+
"backButton": "Return to "
55
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"moreActions": "More actions",
33
"unavailable": "Unavailable, expand for details",
4-
"backButton": "Return to {prevMenuButton}"
4+
"backButton": "Return to "
55
}

packages/@react-spectrum/menu/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"@react-aria/focus": "^3.14.1",
4040
"@react-aria/i18n": "^3.8.2",
4141
"@react-aria/interactions": "^3.18.0",
42+
"@react-aria/label": "^3.7.0",
4243
"@react-aria/menu": "^3.10.2",
4344
"@react-aria/overlays": "^3.17.0",
4445
"@react-aria/selection": "^3.16.2",

packages/@react-spectrum/menu/src/Menu.tsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ import intlMessages from '../intl/*.json';
2020
import {MenuContext, MenuStateContext, useMenuStateContext} from './context';
2121
import {MenuItem} from './MenuItem';
2222
import {MenuSection} from './MenuSection';
23-
import {mergeProps, useLayoutEffect, useSyncRef} from '@react-aria/utils';
23+
import {mergeProps, useId, useLayoutEffect, useSyncRef} from '@react-aria/utils';
2424
import React, {ReactElement, useContext, useRef, useState} from 'react';
2525
import {SpectrumMenuProps} from '@react-types/menu';
2626
import styles from '@adobe/spectrum-css-temp/components/menu/vars.css';
27+
import {useLabel} from '@react-aria/label';
2728
import {useLocale, useLocalizedStringFormatter} from '@react-aria/i18n';
2829
import {useMenu} from '@react-aria/menu';
2930
import {useTreeState} from '@react-stately/tree';
@@ -58,9 +59,10 @@ function Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLDiv
5859

5960
let isMobile = useIsMobileDevice();
6061
let backButtonText = parentMenuTreeState?.collection.getItem(menuTreeState.expandedKeysStack.slice(-1)[0])?.textValue;
61-
let backButtonLabel = stringFormatter.format('backButton', {
62-
prevMenuButton: backButtonText
63-
});
62+
let backButtonLabel = stringFormatter.format('backButton');
63+
let buttonId = useId();
64+
let {labelProps, fieldProps} = useLabel({id: buttonId, label: backButtonText, 'aria-label': backButtonLabel, labelElementType: 'span'});
65+
6466
// TODO: add slide transition
6567
return (
6668
<MenuStateContext.Provider value={{popoverContainerRef, trayContainerRef, menu: domRef, menuTreeState, state}}>
@@ -81,13 +83,13 @@ function Menu<T extends object>(props: SpectrumMenuProps<T>, ref: DOMRef<HTMLDiv
8183
// TODO: check labeling with team and get translated strings
8284
<div className={classNames(styles, 'spectrum-SubMenu-headerWrapper')}>
8385
<ActionButton
84-
aria-label={backButtonLabel}
86+
{...fieldProps}
8587
isQuiet
8688
onPress={contextProps.onBackButtonPress}>
8789
{/* We don't have a ArrowLeftSmall so make due with ArrowDownSmall and transforms */}
8890
{direction === 'rtl' ? <ArrowDownSmall UNSAFE_style={{rotate: '270deg'}} /> : <ArrowDownSmall UNSAFE_style={{rotate: '90deg'}} />}
8991
</ActionButton>
90-
<span className={classNames(styles, 'spectrum-SubMenu-header')}>{backButtonText}</span>
92+
<span {...labelProps} className={classNames(styles, 'spectrum-SubMenu-header')}>{backButtonText}</span>
9193
</div>
9294
)}
9395
<div

0 commit comments

Comments
 (0)