Utilizzo di axe DevTools Linter per React Native

Link to Utilizzo di axe DevTools Linter per React Native copied to clipboard
Free Trial
Not for use with personal data

Siamo entusiasti di offrire il supporto per React Native a axe DevTools Linter!

La funzionalità include attualmente 6 regole che vengono eseguite sui file React Native (.js, .jsx, .ts e .tsx). Per saperne di più sui test eseguiti da ciascuna regola e su come risolvere i problemi da esse rilevati, consultare i seguenti link:

Configurazione

La versione software-as-a-service di axe DevTools Linter non richiede alcuna installazione per essere utilizzata. Ti basterà seguire la guida per ottenere una chiave API e potrai iniziare a utilizzare il servizio immediatamente. Consultare la sezione su utilizzo del axe DevTools Linter per istruzioni sui vari modi in cui il server può controllare i file di codice per problemi di accessibilità, tra cui tramite una GitHub Action e uno strumento da riga di comando chiamato axe DevTools Linter Connector. È anche possibile interagire direttamente con il server utilizzando la sua API REST.

Per i metodi che si basano su un axe-linter.yml file per la configurazione, come GitHub Action e Connector, aggiungi 'react-native' come libreria globale per abilitare il linting per React Native:

global-libraries:
  - react-native

Per i metodi che accettano la configurazione in formato JSON, come la chiamata diretta all'API REST, includere quanto segue per abilitare il linting di React Native:

{
  "config": {
    "global-libraries": ["react-native"]
  }
}

Linting dei componenti personalizzati

La funzionalità React Native supporta anche il linting di componenti personalizzati che funzionano in modo simile a questa funzionalità per il linting HTML. Tuttavia, al momento è disponibile solo per la regola image-has-accessibility-label . Consulta la guida su linting di componenti personalizzati che è specifica per HTML, ma il concetto di alto livello è valido anche per React Native. Ecco un esempio di utilizzo del linting dei componenti personalizzati con la regola image-has-accessibility-label per React Native:

Supponiamo di aver creato un componente personalizzato Image chiamato MyImage che accetta le proprietà isAccessible e accessibleLabel. Tali proprietà controllano le proprietà di accessibilità predefinite per Image che sono accessible e accessibilityLabel. Per rendere axe DevTools Linter consapevole di questa mappatura personalizzata, è necessario includere quanto segue nella configurazione:

global-components:
  MyImage:
    element: Image
    attributes:
      - isAccessible: accessible
      - accessibleLabel: accessibilityLabel

Con questa configurazione in atto, axe DevTools Linter segnalerà problemi se rileva istanze di <MyImage/> che non includono le proprietà isAccessible e accessibleLabel .