@@ -589,13 +589,17 @@ const columnHeadersView = (Base: ModuleType<ColumnHeadersView>) => class ColumnH
589589 showFirstSubmenuMode : 'onHover' ,
590590 hideSubmenuOnMouseLeave : true ,
591591 items : [ {
592+ name : getColumnSelectedFilterOperation ( that , column ) || ARIA_SEARCH_BOX ,
592593 disabled : ! column . filterOperations ?. length ,
593594 icon : OPERATION_ICONS [ getColumnSelectedFilterOperation ( that , column ) || 'default' ] ,
594595 selectable : false ,
595596 items : that . _getFilterOperationMenuItems ( column ) ,
596597 } ] ,
597- onItemRendered : ( { itemElement } ) => {
598- this . setAria ( 'label' , ARIA_SEARCH_BOX , $ ( itemElement ) ) ;
598+ onItemRendered : ( { itemElement, itemData } ) => {
599+ if ( itemData ?. items && itemData ?. name ) {
600+ const labelText = that . _getOperationDescriptionFromDescriptor ( itemData . name ) || ARIA_SEARCH_BOX ;
601+ this . setAria ( 'label' , labelText , $ ( itemElement ) ) ;
602+ }
599603 } ,
600604 onItemClick ( properties ) {
601605 // @ts -expect-error
@@ -688,21 +692,15 @@ const columnHeadersView = (Base: ModuleType<ColumnHeadersView>) => class ColumnH
688692 const that = this ;
689693 let result : any = [ { } ] ;
690694 const filterRowOptions = that . option ( 'filterRow' ) ;
691- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
692- const operationDescriptions = filterRowOptions ?. operationDescriptions || { } ;
693695
694696 if ( column . filterOperations ?. length ) {
695697 const availableFilterOperations = column . filterOperations . filter ( ( value ) => isDefined ( OPERATION_DESCRIPTORS [ value ] ) ) ;
696- result = map ( availableFilterOperations , ( value ) => {
697- const descriptionName = OPERATION_DESCRIPTORS [ value ] ;
698-
699- return {
700- name : value ,
701- selected : ( getColumnSelectedFilterOperation ( that , column ) || column . defaultFilterOperation ) === value ,
702- text : operationDescriptions [ descriptionName ] ,
703- icon : OPERATION_ICONS [ value ] ,
704- } ;
705- } ) ;
698+ result = map ( availableFilterOperations , ( value ) => ( {
699+ name : value ,
700+ selected : ( getColumnSelectedFilterOperation ( that , column ) || column . defaultFilterOperation ) === value ,
701+ text : that . _getOperationDescriptionFromDescriptor ( value ) ,
702+ icon : OPERATION_ICONS [ value ] ,
703+ } ) ) ;
706704
707705 result . push ( {
708706 name : null ,
@@ -714,6 +712,15 @@ const columnHeadersView = (Base: ModuleType<ColumnHeadersView>) => class ColumnH
714712 return result ;
715713 }
716714
715+ private _getOperationDescriptionFromDescriptor ( value ) {
716+ const filterRowOptions = this . option ( 'filterRow' ) ;
717+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
718+ const operationDescriptions = filterRowOptions ?. operationDescriptions || { } ;
719+ const descriptionName = OPERATION_DESCRIPTORS [ value ] ;
720+
721+ return operationDescriptions [ descriptionName ] ;
722+ }
723+
717724 protected _handleDataChanged ( e ) {
718725 const dataSource = this . _dataController ?. dataSource ?.( ) ;
719726 const lastLoadOptions = dataSource ?. lastLoadOptions ?.( ) ;
0 commit comments