Uso de la acción GitHub axe DevTools Linter

Link to Uso de la acción GitHub axe DevTools Linter copied to clipboard

Cómo utilizar la acción de GitHub de axe DevTools Linter para comprobar si hay errores de accesibilidad en las solicitudes de extracción

Free Trial
Not for use with personal data

Este artículo le muestra cómo usar la acción de GitHub Deque's axe DevTools Linter para verificar su código en busca de errores de accesibilidad al crear una solicitud de extracción de GitHub. Después de ejecutar la acción, la solicitud de extracción contendrá comentarios que muestran los errores de accesibilidad en los archivos confirmados.

Las siguientes secciones muestran los pasos para configurar esta acción de GitHub con su repositorio.

note

Se requieren varios pasos solo si utiliza la versión SaaS de axe DevTools Linter. En consecuencia, si utiliza la versión local, puede omitir los pasos identificados como Solo SaaS.

Step 1: Obtain an API Key (SaaS Only)

Para axe DevTools Linter SaaS, necesita obtener una clave API. Puede obtener una siguiendo los pasos en Cómo obtener una clave API de axe DevTools Linter SaaS, o puede usar una clave API existente desde la página de configuración de su cuenta de axe.(https://axe.deque.com/settings) Si tiene problemas para obtener una clave API, comuníquese con el servicio de asistencia de Deque.

Step 2: Create a Repository Secret for Your API Key (SaaS Only)

Si está usando axe DevTools Linter SaaS, necesita agregar tu clave API a los secretos de tu repositorio, lo que puede hacer yendo a la página de Configuración de tu repositorio en GitHub. Para obtener más información, consulte Creación de secretos cifrados para un repositorio en GitHub Docs.

Para el flujo de trabajo de ejemplo del siguiente paso, los secretos deberían llamarse:

  • AXE_LINTER_API_KEY para la clave API

Paso 3: Crear el flujo de trabajo

A continuación, debe crear un flujo de trabajo para verificar si sus archivos tienen errores de accesibilidad. Puedes crear un archivo llamado axe-linter.yml en el directorio .github/workflows de tu repositorio.

Puedes crear este archivo en línea como un nuevo flujo de trabajo en la pestaña Acciones en la página web de tu repositorio (haz clic en configurar un flujo de trabajo tú mismo en la sección Comienza a usar GitHub Actions en la parte superior de la página Acciones ) o créalo localmente y haz commit al mismo en tu repositorio.

tip

La versión más actualizada del flujo de trabajo YAML se puede encontrar en el archivo README.Md en el repositorio de Acciones de GitHub.

La acción axe-linter se invoca en el flujo de trabajo cuando se crea una solicitud de extracción (on: [pull_request]). El flujo de trabajo utiliza dos dependencias:

  • actions/checkout@v4
  • dequelabs/axe-linter-accion@v1

Las siguientes secciones muestran ejemplos de .github/workflows/axe-linter.yml que puedes usar para versiones SaaS o locales de axe DevTools Linter:

Para SaaS

La versión SaaS del flujo de trabajo incluye el parámetro api_key , pero no incluye el parámetro axe_linter_url :

name: Linting for accessibility issues

on: [pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
      - uses: dequelabs/axe-linter-action@v1
        with:
          api_key: ${{ secrets.AXE_LINTER_API_KEY }}          github_token: ${{ secrets.GITHUB_TOKEN }}

Para en las instalaciones

La versión local del flujo de trabajo incluye el parámetro axe_linter_url , pero no incluye el parámetro api_key :

name: Linting for accessibility issues

on: [pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
      - uses: dequelabs/axe-linter-action@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          axe_linter_url: $AXE_LINTER_URL

El valor de axe_linter_url se lee en este ejemplo desde el entorno de shell como AXE_LINTER_URL.

Para la versión en las instalaciones de axe DevTools Linter, no necesita una clave API, pero su instancia de axe DevTools Linter debe ser accesible a los flujos de trabajo de GitHub a través de una conexión de red.

Parámetros de acción de GitHub

La dequelabs/axe-linter-action utiliza los siguientes parámetros (especificados en los ejemplos anteriores en la cláusula with ):

Nombre Descripción
github_token Necesario para la autenticación. Generalmente se establece mediante el secreto predefinido GITHUB_TOKEN. Consulte Identificación automática de tokens en GitHub Docs.
api_key (Solo SaaS) Para axe DevTools Linter SaaS, se requiere una clave API para autorizar su flujo de trabajo. La clave se obtiene del secreto AXE_LINTER_API_KEY que creó en el paso 2.
axe_linter_url (Opcional para SaaS, obligatorio para instalaciones locales) Este parámetro le permite especificar un servidor diferente para usar en el análisis de linting. La mayoría de los usuarios que utilizan la versión SaaS no necesitarán este parámetro porque utilizarán los servidores de Deque para el linting. Sin embargo, los usuarios de la versión local deberán especificar este parámetro. Debe especificar **http: ** o **https: ** como protocolo y, a menos que utilice el puerto estándar para **http: ** (80) o **https: ** (443) y lo redirija al puerto 3000, también deberá especificar el puerto. Por ejemplo: http://example.com:3000.

Resultados del flujo de trabajo

La siguiente captura de pantalla muestra el resultado de crear una solicitud de extracción con un archivo que tiene un error de accesibilidad. El archivo, bad-file.md, contiene niveles de encabezado que van desde el nivel de encabezado 1 hasta el nivel de encabezado 3, omitiendo el nivel 2, lo cual es un error de accesibilidad.

Una solicitud de extracción en GitHub y el error marcado por la acción de GitHub axe DevTools Linter. El archivo en el lado derecho de la imagen contiene un error de accesibilidad donde los encabezados omiten el nivel 2. Hay una alerta de error de la acción de GitHub que proporciona detalles sobre el error.

Solución de problemas

La depuración de problemas con acciones de GitHub puede ser un desafío porque los mensajes de error a menudo no representan con precisión el problema subyacente. Esta sección contiene algunos ejemplos de errores que podrías ver.

Incorrectly Named Secret (SaaS Only)

Si el nombre que le da a su clave secreta de API no coincide con el nombre en el flujo de trabajo, puede recibir errores sobre un comando faltante en lugar de un error de que la clave no está definida:

... line 41: Missing: command not found

Errores de permisos

Hay muchos lugares con acciones de GitHub donde los permisos pueden ser incorrectos. Por ejemplo, si hace referencia a un repositorio que no es público con una cláusula usa , a menudo recibirá el error que indica que no se encontró el repositorio en lugar de que no tiene acceso a él:

fatal: repository 'name' not found

Archivos comprobados por la acción

Los archivos con estas extensiones se comprobarán para detectar errores de accesibilidad:

  • .js
  • .jsx
  • .tsx
  • .html
  • .vue
  • .md
  • .markdown

Próximos pasos

Para obtener información sobre las reglas que utiliza axe DevTools Linter para verificar su código, consulte Reglas de accesibilidad. Si desea obtener más información sobre cómo evitar que los archivos con errores de accesibilidad se confirmen en Git, consulte Cómo usar un gancho de preconfirmación de Git.