Skip to content

Commit aa05ffe

Browse files
committed
fix: added further context to aria labels for select example
1 parent 9cbc3a9 commit aa05ffe

File tree

3 files changed

+37
-29
lines changed

3 files changed

+37
-29
lines changed

packages/module/patternfly-docs/content/extensions/component-groups/examples/FieldBuilder/FieldBuilderExample.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ export const FieldBuilderExample: React.FunctionComponent = () => {
6464
return (
6565
<Form>
6666
<FieldBuilder
67-
label=""
68-
labelInfo=""
6967
isRequired
7068
firstColumnLabel="Name"
7169
secondColumnLabel="Email"

packages/module/patternfly-docs/content/extensions/component-groups/examples/FieldBuilder/FieldBuilderSelectExample.tsx

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,6 @@ export const FieldBuilderSelectExample: React.FunctionComponent = () => {
126126
return (
127127
<Form>
128128
<FieldBuilder
129-
label=""
130-
labelInfo=""
131129
isRequired
132130
firstColumnLabel="Department"
133131
secondColumnLabel="Role"
@@ -152,27 +150,35 @@ export const FieldBuilderSelectExample: React.FunctionComponent = () => {
152150
newOpenStates[index] = isOpen;
153151
setDepartmentOpenStates(newOpenStates);
154152
}}
155-
toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
156-
<MenuToggle
157-
ref={(element) => {
158-
// Handle both the toggle ref and focus ref
159-
if (typeof toggleRef === 'function') {
160-
toggleRef(element);
161-
} else if (toggleRef && 'current' in toggleRef && toggleRef.current !== element) {
162-
(toggleRef as React.MutableRefObject<MenuToggleElement | null>).current = element;
163-
}
164-
focusRef(element);
165-
}}
166-
onClick={() => handleDepartmentToggle(index)}
167-
isExpanded={departmentOpenStates[index] || false}
168-
aria-label={firstColumnAriaLabel}
169-
style={{ width: '100%' }}
170-
>
171-
{teamMembers[index]?.department ?
172-
departmentOptions.find(opt => opt.value === teamMembers[index]?.department)?.label || 'Choose a department'
173-
: 'Choose a department'}
174-
</MenuToggle>
175-
)}
153+
toggle={(toggleRef: React.Ref<MenuToggleElement>) => {
154+
// Compute extra context for aria-label
155+
const selectedDepartment = teamMembers[index]?.department;
156+
const departmentLabel = selectedDepartment
157+
? departmentOptions.find(opt => opt.value === selectedDepartment)?.label
158+
: 'choose a department';
159+
const ariaLabel = `${firstColumnAriaLabel}, ${departmentLabel}`;
160+
return (
161+
<MenuToggle
162+
ref={(element) => {
163+
// Handle both the toggle ref and focus ref
164+
if (typeof toggleRef === 'function') {
165+
toggleRef(element);
166+
} else if (toggleRef && 'current' in toggleRef && toggleRef.current !== element) {
167+
(toggleRef as React.MutableRefObject<MenuToggleElement | null>).current = element;
168+
}
169+
focusRef(element);
170+
}}
171+
onClick={() => handleDepartmentToggle(index)}
172+
isExpanded={departmentOpenStates[index] || false}
173+
aria-label={ariaLabel}
174+
style={{ width: '100%' }}
175+
>
176+
{selectedDepartment
177+
? departmentOptions.find(opt => opt.value === selectedDepartment)?.label || 'Choose a department'
178+
: 'Choose a department'}
179+
</MenuToggle>
180+
);
181+
}}
176182
shouldFocusToggleOnSelect
177183
>
178184
<SelectList>
@@ -203,11 +209,15 @@ export const FieldBuilderSelectExample: React.FunctionComponent = () => {
203209
ref={toggleRef}
204210
onClick={() => handleRoleToggle(index)}
205211
isExpanded={roleOpenStates[index] || false}
206-
aria-label={secondColumnAriaLabel}
212+
aria-label={`${secondColumnAriaLabel}, ${
213+
teamMembers[index]?.role
214+
? roleOptions.find(opt => opt.value === teamMembers[index]?.role)?.label
215+
: 'choose a role'
216+
}`}
207217
style={{ width: '100%' }}
208218
>
209-
{teamMembers[index]?.role ?
210-
roleOptions.find(opt => opt.value === teamMembers[index]?.role)?.label || 'Choose a role'
219+
{teamMembers[index]?.role
220+
? roleOptions.find(opt => opt.value === teamMembers[index]?.role)?.label || 'Choose a role'
211221
: 'Choose a role'}
212222
</MenuToggle>
213223
)}

packages/module/src/FieldBuilder/FieldBuilder.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ export const FieldBuilder: FunctionComponent<FieldBuilderProps> = ({
287287

288288
{/* Table layout */}
289289
<Table
290-
aria-label={`${rowGroupLabelPrefix} management table`}
290+
aria-label={`${rowGroupLabelPrefix} management`}
291291
variant="compact"
292292
borders={false}
293293
style={{

0 commit comments

Comments
 (0)