@@ -12,9 +12,6 @@ import type { JSXElementMockType } from './JSXElementMock';
1212
1313const { fromEntries } = Object ;
1414
15- const domElements = [ ...dom . keys ( ) ] ;
16- const roleNames = [ ...roles . keys ( ) ] ;
17-
1815const interactiveElementsMap = {
1916 a : [ { prop : 'href' , value : '#' } ] ,
2017 area : [ { prop : 'href' , value : '#' } ] ,
@@ -122,36 +119,36 @@ const nonInteractiveElementsMap: {[string]: Array<{[string]: string}>} = {
122119 ul : [ ] ,
123120} ;
124121
125- const indeterminantInteractiveElementsMap : { [ key : string ] : Array < any > } = fromEntries ( domElements . map ( ( name ) => [ name , [ ] ] ) ) ;
122+ const indeterminantInteractiveElementsMap : { [ key : string ] : Array < any > } = fromEntries ( dom . keys ( ) . map ( ( name ) => [ name , [ ] ] ) ) ;
126123
127124Object . keys ( interactiveElementsMap )
128125 . concat ( Object . keys ( nonInteractiveElementsMap ) )
129126 . forEach ( ( name ) => delete indeterminantInteractiveElementsMap [ name ] ) ;
130127
131- const abstractRoles = roleNames . filter ( ( role ) => roles . get ( role ) . abstract ) ;
128+ const abstractRoles = roles . keys ( ) . filter ( ( role ) => roles . get ( role ) . abstract ) ;
132129
133- const nonAbstractRoles = roleNames . filter ( ( role ) => ! roles . get ( role ) . abstract ) ;
130+ const nonAbstractRoles = roles . keys ( ) . filter ( ( role ) => ! roles . get ( role ) . abstract ) ;
134131
135132const interactiveRoles = [ ]
136133 . concat (
137- roleNames ,
134+ roles . keys ( ) ,
138135 // 'toolbar' does not descend from widget, but it does support
139136 // aria-activedescendant, thus in practice we treat it as a widget.
140137 'toolbar' ,
141138 )
142139 . filter ( ( role ) => (
143140 ! roles . get ( role ) . abstract
144- && roles . get ( role ) . superClass . some ( ( klasses ) => klasses . includes ( 'widget' ) )
141+ && roles . get ( role ) . superClass . some ( ( klasses ) => includes ( klasses , 'widget' ) )
145142 ) ) ;
146143
147- const nonInteractiveRoles = roleNames
144+ const nonInteractiveRoles = roles . keys ( )
148145 . filter ( ( role ) => (
149146 ! roles . get ( role ) . abstract
150- && ! roles . get ( role ) . superClass . some ( ( klasses ) => klasses . includes ( 'widget' ) )
147+ && ! roles . get ( role ) . superClass . some ( ( klasses ) => includes ( klasses , 'widget' ) )
151148
152149 // 'toolbar' does not descend from widget, but it does support
153150 // aria-activedescendant, thus in practice we treat it as a widget.
154- && role !== 'toolbar'
151+ && ! includes ( [ 'toolbar' ] , role )
155152 ) ) ;
156153
157154export function genElementSymbol ( openingElement : Object ) : string {
0 commit comments