@@ -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 ) }
0 commit comments