Skip to content

Commit 78e82c1

Browse files
authored
Remove aria-label from AnchorNav toggle button in favour of visually-hidden text (#841)
* remove aria-label from AnchorNav toggle button in favour of visually-hidden text * fix failing test * move space inside span * add changeset
1 parent c492b04 commit 78e82c1

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

.changeset/kind-comics-tickle.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@primer/react-brand': patch
3+
---
4+
5+
Improved accessibility in `AnchorNav` through clearer navigation menu labelling for screen reader users on narrow viewports.

packages/react/src/AnchorNav/AnchorNav.test.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,10 @@ describe('AnchorNav', () => {
138138
const {getByTestId} = render(<MockAnchorNavFixture />)
139139
const menuButton = getByTestId(AnchorNav.testIds.menuButton)
140140

141-
expect(menuButton).toHaveAttribute('aria-label', 'open anchor navigation menu') // aria label before menu open
142141
expect(menuButton).toHaveAttribute('aria-expanded', 'false') // aria attribute before menu open
143142

144143
fireEvent.click(menuButton) // toggle menu button
145144

146-
expect(menuButton).toHaveAttribute('aria-label', 'close anchor navigation menu') // aria label after menu open
147145
expect(menuButton).toHaveAttribute('aria-expanded', 'true') // aria attribute before menu open
148146
})
149147

packages/react/src/AnchorNav/AnchorNav.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,16 +214,16 @@ function _AnchorNav({children, enableDefaultBgColor = false, hideUntilSticky = f
214214
<button
215215
onClick={handleMenuToggle}
216216
className={clsx(styles['AnchorNav-menu-button'])}
217-
aria-expanded={menuOpen ? 'true' : 'false'}
217+
aria-expanded={menuOpen}
218218
aria-controls={idForLinkContainer}
219-
aria-label={`${menuOpen ? 'close' : 'open'} anchor navigation menu`}
220219
data-testid={testIds.menuButton}
221220
>
222221
{menuOpen ? (
223222
<ChevronUpIcon size={16} className={styles['AnchorNav-menu-button-arrow']} fill="currentcolor" />
224223
) : (
225224
<ChevronDownIcon size={16} className={styles['AnchorNav-menu-button-arrow']} fill="currentcolor" />
226225
)}
226+
<span className="visually-hidden">Anchor navigation menu. Currently selected: </span>
227227
<Text as="span" className={clsx(styles['AnchorNav-link-label'])}>
228228
{currentActiveNavItem}
229229
</Text>

0 commit comments

Comments
 (0)