@@ -2,9 +2,23 @@ const Eval = require('./eval')
22
33exports . audit = ( ) => {
44 return Eval . execute ( function ( ) {
5- const { axs} = window . __devtron
5+ const { axs} = window . __devtron // defined in browser-globals.js
66 const config = new axs . AuditConfiguration ( { showUnsupportedRulesWarning : false } )
7- return axs . Audit . run ( config ) . map ( function ( result ) {
7+ const results = axs . Audit . run ( config )
8+
9+ // Create a lookup map so users can click on an element to inspect it
10+ let idCounter = 0
11+ window . __devtron . accessibilityAuditMap = new Map ( )
12+ results . forEach ( function ( result ) {
13+ const elements = result . elements || [ ]
14+ elements . forEach ( function ( element ) {
15+ const id = idCounter ++
16+ element . __accessibilityAuditId = id
17+ window . __devtron . accessibilityAuditMap . set ( id , element )
18+ } )
19+ } )
20+
21+ return results . map ( function ( result ) {
822 const elements = result . elements || [ ]
923 let status = 'N/A'
1024 if ( result . result === 'PASS' ) {
@@ -19,7 +33,14 @@ exports.audit = () => {
1933 title : result . rule . heading ,
2034 url : result . rule . url ,
2135 elements : elements . map ( function ( element ) {
22- return window . __devtron . axs . utils . getQuerySelectorText ( element )
36+ let selector = element . tagName . toLowerCase ( )
37+ if ( element . className ) {
38+ selector += '.' + element . className . split ( ' ' ) . join ( '.' )
39+ }
40+ return {
41+ selector : selector ,
42+ id : element . __accessibilityAuditId
43+ }
2344 } )
2445 }
2546 } ) . sort ( function ( resultA , resultB ) {
0 commit comments