Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Simplify fieldset labeling to avoid repetition.
  • Loading branch information
afercia committed Feb 21, 2025
commit 184f1f4e9c93fd32a861e07d26c0a0d8198eb631
19 changes: 15 additions & 4 deletions packages/components/src/font-size-picker/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type { ForwardedRef } from 'react';
import { __ } from '@wordpress/i18n';
import { settings } from '@wordpress/icons';
import { useState, forwardRef } from '@wordpress/element';
import { useInstanceId } from '@wordpress/compose';

/**
* Internal dependencies
Expand All @@ -21,7 +22,6 @@ import {
parseQuantityAndUnitFromRawValue,
useCustomUnits,
} from '../unit-control';
import { VisuallyHidden } from '../visually-hidden';
import type { FontSizePickerProps } from './types';
import { Container, Header, HeaderLabel, HeaderToggle } from './styles';
import { Spacer } from '../spacer';
Expand Down Expand Up @@ -50,6 +50,11 @@ const UnforwardedFontSizePicker = (
withReset = true,
} = props;

const labelId = useInstanceId(
UnforwardedFontSizePicker,
'font-size-picker-label'
);

const units = useCustomUnits( {
availableUnits: unitsProp,
} );
Expand Down Expand Up @@ -100,11 +105,17 @@ const UnforwardedFontSizePicker = (
} );

return (
<Container ref={ ref } className="components-font-size-picker">
<VisuallyHidden as="legend">{ __( 'Font size' ) }</VisuallyHidden>
<Container
ref={ ref }
className="components-font-size-picker"
// This Container component renders a fieldset element that needs to be labeled.
aria-labelledby={ labelId }
>
<Spacer>
<Header className="components-font-size-picker__header">
<HeaderLabel>{ __( 'Font size' ) }</HeaderLabel>
<HeaderLabel id={ labelId }>
{ __( 'Font size' ) }
</HeaderLabel>
{ ! disableCustomFontSizes && (
<HeaderToggle
label={
Expand Down