Referencia de la API de C#
Referencia de la API para las clases y métodos de Axe DevTools para Web en C#
Clases de Axe DevTools en C#
Esta página documenta las clases que componen Axe DevTools en C#
class Deque.AxeDevtools.Selenium.AxeSelenium
La interfaz para axe. Contiene configuraciones para cambiar cómo se ejecuta axe, así como la capacidad de ejecutarlo.
| Campo estático | Tipo | Descripción |
|---|---|---|
| defaultAxeSource | string | La cadena predeterminada de axe-core que será utilizada. |
AxeSelenium(OpenQA.Selenium.Remote.RemoteWebDriver, Configuración de Reporte?, string)
Crea un nuevo objeto AxeSelenium para una página con configuración específica.
| Parámetro | Descripción |
|---|---|
| webdriver | Objeto Selenium de la página para probar. Debería estar en el estado listo para la prueba. |
| reportConfiguration | Configuración para variar la información específica del reporte. El valor predeterminado es ReportConfiguration.GetDefault() |
| fuenteDeAxe | Fuente de axe-core a usar. El valor predeterminado es AxeSelenium.defaultAxeSource |
Resultados del ReporteAnálisis()
Ejecutar axe en la página.
Devuelve: El reporte de la ejecución de axe-core en la página.
var report = new AxeSelenium(driver).Analyze();AxeSelenium Configurar(Especificación)
Configurar axe. Hecho a través de axe.configure
| Parámetro | Descripción |
|---|---|
| especificación | Objeto de Especificación a pasar. |
Devuelve: Este objeto para encadenamiento.
var spec = new Spec.Spec {
Checks = new Spec.Check[] {
new Spec.Check() {
Id = "dylang",
Options = (object) new string[] { "dylan" },
Evaluate = @"function (node, options) {
var lang = (node.getAttribute('lang') || '').trim().toLowerCase();
var xmlLang = (node.getAttribute('xml:lang') || '').trim().toLowerCase();
var invalid = [];
(options || []).forEach(function(cc) {
cc = cc.toLowerCase();
if (lang && (lang === cc || lang.indexOf(cc.toLowerCase() + '-') === 0)) {
lang = null;
}
if (xmlLang && (xmlLang === cc || xmlLang.indexOf(cc.toLowerCase() + '-') === 0)) {
xmlLang = null;
}
});
if (xmlLang) {
invalid.push('xml:lang='' + xmlLang + ''');
}
if (lang) {
invalid.push('lang='' + lang + ''');
}
if (invalid.length) {
this.data(invalid);
return true;
}
return false;
}"
}
},
Rules = new Spec.Rule[] {
new Spec.Rule() {
Id = "dylang",
Selector = "html",
Tags = new string[] { "wcag2aa" },
All = new string[0],
Any = new string[0],
None = new string[] { "dylang" }
}
}
};
var report = new AxeSelenium(driver)
.Configure(spec)
.Analyze()AxeSeleniumDeshabilitarReglas(string[])
Deshabilitar algunas reglas al ejecutar axe.
| Parámetro | Descripción |
|---|---|
| reglas | Lista de identificadores de reglas. |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.DisablingRules("html-has-lang", "label")
.Analyze()AxeSeleniumExcluir(string[])
Especificar parte de la página para excluir al ejecutar axe.
| Parámetro | Descripción |
|---|---|
| selector | Lista de selectores CSS para elementos. |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.Excluding(".third-party-ad", ".iframe1")
.Analyze()AxeSeleniumIncluding(string[])
Especificar parte de la página para ejecutar axe.
| Parámetro | Descripción |
|---|---|
| selector | Lista de selectores CSS para elementos. |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.Including(".sidebar", ".some-class")
.Analyze()AxeSelenium RunOptions(RunOptions)
Especificar RunOptions para pasar a axe al llamar a axe.run.
| Parámetro | Descripción |
|---|---|
| opciones | Objeto para pasar |
Devuelve: Este objeto para encadenamiento.
var options = new RunOptions.RunOptions {
IFrames = false,
RunOnly = RunOptions.RunOnly.Tags(RunOptions.TagType.Wcag2a)
};
var report = new AxeSelenium(driver)
.RunOptions(options)
.Analyze()AxeSeleniumWithConfigFile(string)
Establecer dónde encontrar un archivo de configuración. La ruta predeterminada es config/axe-ruleset.json o $AXE_RULESET_PATH.
| Parámetro | Descripción |
|---|---|
| ruta | Ruta al archivo de configuración. |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.WithConfigFile("path/to/file.json")
.Analyze();AxeSeleniumWithRules(string[])
Especificar reglas (por id) para usar al ejecutar axe.
| Parámetro | Descripción |
|---|---|
| reglas | Lista de ids de reglas. |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.WithRules("document-title", "label")
.WithRules("html-has-lang")
.Analyze()AxeSeleniumWithRuleset(string, bool)
Usar un conjunto de reglas específico (es decir, wcag2.1, 508).
| Parámetro | Descripción |
|---|---|
| rulesetId | Id del conjunto de reglas a usar. |
| enableBestPractices | Activar o no las reglas etiquetadas best-practice. Por defecto false |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.WithRuleset("508", true)
.Analyze()AxeSelenium ConEtiquetas(TagType[])
Especificar las reglas (por etiqueta) a utilizar al ejecutar axe.
| Parametro | Descripción |
|---|---|
| etiquetas | Lista de etiquetas de reglas. |
Devuelve: Este objeto para encadenamiento.
var report = new AxeSelenium(driver)
.WithTags(RunTagType.BestPractice)
.Analyze()Variables de entorno
Estas variables de entorno le permiten configurar el servicio de uso y cambiar las propiedades de los eventos reportados.
| Nombre | Tipo | Puede sobrescribir | Descripción |
|---|---|---|---|
AXE_DISTINCT_ID |
Cadena | — | Un identificador UUID que permanece igual para el usuario registrado (a menos que se regenere) |
AXE_METRICS_URL |
Cadena | — | La URL del punto final de uso de REST |
AXE_TRACK_USAGE |
Booleano | — | Habilita la generación de informes de servicio de uso (el valor predeterminado es false) |
AXE_APPLICATION |
Cadena | falso | La aplicación que se utilizó para verificar errores de accesibilidad |
AXE_DEV_INSTANCE |
Booleano | verdadero | Indica si este evento es producto de las acciones de un desarrollador de software. Útil para marcar y luego eliminar eventos registrados durante el desarrollo o las pruebas. |
AXE_DEPARTMENT |
Cadena | verdadero | El departamento del usuario dentro de la organización |
AXE_KEYCLOAK_ID |
Cadena | falso | El ID de Keycloak del usuario |
AXE_LOGGED_IN |
Booleano | falso | Registra si el usuario está conectado a la aplicación bajo prueba |
AXE_ORGANIZATION |
Cadena | verdadero | La organización del usuario |
AXE_SESSION_ID |
Cadena | falso | Un UUID que identifica la sesión del usuario |
AXE_USER_ID |
Cadena | falso | La identidad específica de un usuario, como su nombre o ID de inicio de sesión |
AXE_USER_JOB_ROLE |
Cadena | falso | El rol laboral del usuario |
AXE_USER_STATUS |
Cadena | falso | Información de estado que desea asociar con el usuario |
AxeSeleniumHabilitarSeguimiento(bool)
Optar por enviar o no datos al servicio de uso.
| Parametro | Descripción |
|---|---|
| estado | Si el seguimiento está habilitado |
Devuelve: Este objeto para encadenamiento.
AxeSeleniumEstablecerUrlDeSeguimiento(string)
Establece a dónde se envían los datos de métricas de uso. Por defecto https://usage.deque.com
| Parametro | Descripción |
|---|---|
| url | URL donde se enviará |
Devuelve: Este objeto para encadenamiento.
AxeSeleniumEstablecerIdDistinto(string)
Establece un id distinto usado al enviar métricas de uso.
| Parametro | Descripción |
|---|---|
| id | UUID para enviar como id distinto |
Devuelve: Este objeto para encadenamiento.
class Deque.AxeDevtools.Selenium.ReportConfiguration
Configura información específica del informe como el nombre de la suite de pruebas o la información del agente de usuario
| Campo estático | Tipo | Descripción |
|---|---|---|
| TIMESTAMP_FORMAT | cadena | Formato de las marcas de tiempo en los informes. |
static ReportConfigurationGetDefault()
Obtiene la configuración predeterminada actual. Tenga en cuenta que la configuración predeterminada se puede cambiar.
Devuelve: El predeterminado actual.
static void ResetDefault()
Restablece el predeterminado a su estado inicial.
void SetAsDefault()
Establece este objeto como el predeterminado.
ReportConfiguration.GetDefault()
.TestSuiteName("my-tests")
.UIState("home-page")
.SetAsDefault();ReportConfigurationTestMachine(string)
Establece la máquina en la que se ejecutaron estas pruebas.
| Parámetro | Descripción |
|---|---|
| testMachine | Id de la máquina. |
Devuelve: Este objeto para encadenamiento.
ReportConfigurationTestSuiteName(string)
Establece el nombre del conjunto de pruebas.
| Parámetro | Descripción |
|---|---|
| nombre | Nombre. |
Devuelve: Este objeto para encadenamiento.
ReportConfigurationUIState(string)
Especifica el estado de la interfaz para este conjunto de pruebas. Se utiliza como ID.
| Parámetro | Descripción |
|---|---|
| id | Identificador de estado. |
Devuelve: Este objeto para encadenamiento.
ReportConfigurationUserAgent(string)
Establece el agente de usuario utilizado durante las pruebas.
| Parámetro | Descripción |
|---|---|
| userAgent | Cadena del agente de usuario. |
Devuelve: Este objeto para encadenamiento.
class Deque.AxeDevtools.Selenium.Results.Check
El resultado de ejecutar una verificación de hacha.
| Campo | Tipo | Descripción |
|---|---|---|
| Datos | objeto | Información adicional que es específica del tipo de verificación que es opcional. Por ejemplo, una verificación de contraste de color incluiría el color de primer plano, el color de fondo, la proporción de contraste, etc. |
| Id | cadena | Identificador único para esta verificación. Los ids de verificación pueden ser los mismos que los ids de regla. |
| Impacto | cadena | Qué tan seria es esta verificación en particular. Puede ser una de "menor", "moderado", "grave" o "crítico". Cada verificación que forma parte de una regla puede tener diferentes impactos. Se informa el mayor impacto de todas las verificaciones que fallan para la regla. |
| Mensaje | cadena | Descripción de por qué esta verificación pasó o falló. |
| NodosRelacionados | Lista<Nodo> | Matriz opcional de información sobre otros nodos que están relacionados con esta verificación. Por ejemplo, una violación de verificación de id duplicado enumeraría los otros selectores que tenían este mismo id duplicado. |
class Deque.AxeDevtools.Selenium.Results.CheckedNode
Un nodo HTML que fue verificado por una regla.
| Campo | Tipo | Descripción |
|---|---|---|
| Todo | Lista<Verificar> | Matriz de verificaciones que se realizaron donde todas debieron haber pasado. |
| Cualquiera | Lista<Verificar> | Matriz de verificaciones que se realizaron donde al menos una debió haber pasado. |
| Impacto | cadena | Qué tan grave es la violación. Puede ser una de "menor", "moderado", "grave", o "crítico" si la prueba falló o nulo si la verificación pasó. |
| Ninguno | Lista<Verificar> | Matriz de verificaciones que se realizaron donde todas no debieron haber pasado. |
class Deque.AxeDevtools.Selenium.Results.Node
Especifica un nodo HTML específico.
| Campo | Tipo | Descripción |
|---|---|---|
| Html | cadena | Fragmento de HTML del elemento. |
| Objetivo | objeto | Matriz de cadenas o matrices de cadenas. Si el elemento en la matriz es una cadena, entonces es un selector CSS. Si hay varios elementos en la matriz, cada elemento corresponde a un nivel de iframe o marco. Si hay un iframe o marco, debe haber dos entradas en el objetivo. Si hay tres niveles de iframes, debe haber cuatro entradas en el objetivo. Si el elemento de la matriz es una matriz de cadenas, entonces apunta a un elemento en un shadow DOM y cada elemento (excepto el n-1) en esta matriz es un selector para un elemento DOM con un shadow DOM. El último elemento en la matriz apunta al nodo final del shadow DOM. |
class Deque.AxeDevtools.Selenium.Results.Platform
La plataforma en la que se ejecutó una prueba.
| Campo | Tipo | Descripción |
|---|---|---|
| TestMachine | cadena | Id de la máquina en la que se ejecutó la prueba. |
| UserAgent | cadena | Agente de usuario en el que se ejecutó la prueba. |
class Deque.AxeDevtools.Selenium.Results.ReportResults
Resultados de una prueba que son compatibles con el formato del reportero.
var axe = new AxeSelenium(driver, ReportConfiguration.GetDefault().UIState("UIState"));
var res = axe.Analyze();
File.WriteAllText(reportPath, JsonConvert.SerializeObject(res));| Campo | Tipo | Descripción |
|---|---|---|
| EndTime | cadena | Cuándo se completó la prueba. |
| Resultados | Resultados de pruebas | Resultados de Axe. |
| Id | cadena | Id de la ejecución de la prueba. |
| Nombre | cadena | Nombre de la ejecución de la prueba. |
| Plataforma | Plataforma | Información sobre la plataforma en la que se ejecutó la prueba. |
| TestSubject | TestSubject | Información sobre dónde se ejecutó la prueba (por ejemplo, la URL de la página web). |
| Tipo | cadena | Tipo de informe. Siempre es "attest-result". |
class Deque.AxeDevtools.Selenium.Results.Rule
Resultado para una regla individual.
| Campo | Tipo | Descripción |
|---|---|---|
| CreatedDate | cadena | La fecha y hora en que se completó el análisis. |
| Descripción | cadena | Cadena de texto que describe lo que hace la regla. |
| Ayuda | cadena | Texto de ayuda que describe la prueba que se realizó. |
| HelpUrl | cadena | URL que proporciona más información sobre los detalles de la infracción. Enlaces a una página del sitio Deque University. |
| Id | cadena | Identificador único de la regla. |
| Impacto | cadena | Qué tan grave es la infracción. Puede ser uno de "menor", "moderado", "grave" o "crítico" si la regla falló, o nulo si la verificación pasó. |
| Nodos | Lista<NodoVerificado> | Matriz de todos los elementos que la regla probó. |
| Etiquetas | Lista<string> | Matriz de etiquetas que se asignaron a esta regla. Estas etiquetas se pueden usar en la estructura de opciones para seleccionar qué reglas se ejecutan. |
| Url | cadena | La URL de la página que se probó. |
class Deque.AxeDevtools.Selenium.Results.TestEngine
Información sobre el motor axe-core en el que se ejecutó la prueba.
| Campo | Tipo | Descripción |
|---|---|---|
| Nombre | cadena | Nombre del motor. |
| Versión | cadena | Número de versión del motor. |
class Deque.AxeDevtools.Selenium.Results.TestEnvironment
Información sobre el entorno en el que se realizó la prueba.
| Campo | Tipo | Descripción |
|---|---|---|
| ÁnguloDeOrientación | doble? | Ángulo de orientación de la pantalla. (por ejemplo, 0) |
| TipoDeOrientación | cadena | Tipo de orientación de la pantalla. (por ejemplo, "horizontal-primaria") |
| AgenteDeUsuario | cadena | Agente de usuario del navegador en el que se ejecutó la prueba. |
| AlturaDeVentana | int | Altura de la ventana. |
| AnchoDeVentana | int | Ancho de la ventana. |
class Deque.AxeDevtools.Selenium.Results.TestResults
Resultados devueltos al ejecutar axe en la página.
| Campo | Tipo | Descripción |
|---|---|---|
| No aplicable | Lista<Regla> | Estos resultados fueron abortados y requieren más pruebas. Esto puede suceder debido a restricciones técnicas sobre lo que la regla puede probar, o debido a un error de JavaScript. |
| Incompleto | Lista<Regla> | Estos resultados indican qué reglas no se ejecutaron porque no se encontró contenido coincidente en la página. Por ejemplo, si no hay video, esas reglas no se ejecutarán. |
| Aprobadas | Lista<Regla> | Estos resultados indican qué elementos pasaron las reglas. |
| MotorDePruebas | MotorDePruebas | Información sobre el motor axe-core utilizado en la prueba. |
| EntornoDePruebas | EntornoDePruebas | Información sobre el entorno en el que se realizó la prueba. |
| EjecutorDePruebas | EjecutorDePruebas | Nombre del ejecutor de pruebas. |
| MarcaDeTiempo | cadena | La fecha y hora en que se completó el análisis. |
| OpcionesDeHerramienta | objeto | Opciones aplicadas al realizar la prueba. |
| Url | cadena | La URL de la página que fue probada. |
| Infracciones | Lista<Regla> | Estos resultados indican qué elementos no pasaron las reglas. |
class Deque.AxeDevtools.Selenium.Results.TestRunner
Nombre del ejecutor de pruebas.
| Campo | Tipo | Descripción |
|---|---|---|
| Nombre | cadena | El nombre. |
class Deque.AxeDevtools.Selenium.Results.TestSubject
Información sobre lo que se está probando.
| Campo | Tipo | Descripción |
|---|---|---|
| NombreDelArchivo | cadena | Nombre del archivo del sitio bajo prueba. (Puede ser una URL.) |
| NumDeLínea | entero | Número de línea de la prueba. |
| Estado | cadena | Estado del archivo. |
class Deque.AxeDevtools.Selenium.RunOptions.Context
Especifique qué elemento debe y qué elemento no debe ser probado.
void Excluding(string[])
Agregue un conjunto de selectores para elementos que no deben ser probados.
| Parámetro | Descripción |
|---|---|
| excluir | Conjunto de selectores CSS. |
void Including(string[])
Agregue un conjunto de selectores para elementos que deben ser probados.
| Parámetro | Descripción |
|---|---|
| incluir | Conjunto de selectores CSS. |
enum Deque.AxeDevtools.Selenium.RunOptions.ResultGroup
- Pasos
- Violaciones
- Incompleto
- Inaplicable
class Deque.AxeDevtools.Selenium.RunOptions.RuleStatus
Habilita o deshabilita una regla.
| Campo | Tipo | Descripción |
|---|---|---|
| Habilitado | booleano | Si está habilitado o no. |
class Deque.AxeDevtools.Selenium.RunOptions.RunOnly
Limite qué reglas se ejecutan, basándose en nombres o etiquetas.
static RunOnlyRules(string[])
Construir un limitador para reglas basándose en IDs.
| Parámetro | Descripción |
|---|---|
| reglas | Lista de IDs de reglas a usar. |
Devuelve: El objeto RunOnly.
estático RunOnly Tags(TagType[])
Construir un limitador para reglas basadas en etiquetas.
| Parámetro | Descripción |
|---|---|
| tipos | Lista de etiquetas para usar. |
Retorna: El objeto RunOnly.
enum Deque.AxeDevtools.Selenium.RunOptions.RunOnlyType
- Regla
- Reglas
- Etiqueta
- Etiquetas
class Deque.AxeDevtools.Selenium.RunOptions.RunOptions
Una configuración flexible para cómo funciona axe.
| Campo | Tipo | Descripción |
|---|---|---|
| ElementRef | bool? | Devolver referencias de elementos además del objetivo. |
| IFrames | bool? | Indicar a axe que se ejecute dentro de iframes. |
| TiposDeResultado | ResultGroup[] | Limitar qué tipos de resultados son procesados y agregados |
| Reglas | Dictionary<string, EstadoDeRegla> | Permitir personalizar las propiedades de una regla (incluyendo { enable: false }). |
| EjecutarSólo | EjecutarSólo | Limitar qué reglas se ejecutan, basándose en nombres o etiquetas. |
| Selectores | bool? | Devolver selectores xpath para elementos. |
enum Deque.AxeDevtools.Selenium.RunOptions.TagType
- Wcag2a
- Wcag2aa
- Wcag2aaa
- Wcag21a
- Wcag21aa
- Wcag21aaa
- Wcag22a
- Wcag22aa
- Wcag22aaa
- Sección508
- TTv5
- EN301549
- RGAAv4
- MejoresPrácticas
class Deque.AxeDevtools.Selenium.Spec.Check
Usado para agregar verificaciones a la lista de verificaciones utilizadas por las reglas, o para anular las propiedades de las verificaciones existentes.
| Campo | Tipo | Descripción |
|---|---|---|
| Después | cadena | Esta es la función que se llama para verificaciones que operan a nivel de página, para procesar los resultados de los iframes. |
| Habilitado | bool? | Esto se utiliza para indicar si la verificación está activada o desactivada por defecto. Las verificaciones que están desactivadas no se evalúan, incluso cuando se incluyen en una regla. Anular esto es una forma común de desactivar una verificación particular en múltiples reglas. |
| Evaluar | cadena | Esta es la función que implementa la funcionalidad de la verificación. |
| Id | cadena | Esto identifica de manera única la verificación. Si la verificación ya existe, esto resultará en que cualquier propiedad de verificación proporcionada sea anulada. |
| Coincidencias | cadena | Un selector de CSS de filtrado que excluirá elementos que no coincidan con el selector CSS. |
| Opciones | objeto | Esta es la estructura de opciones que se pasa a la función de evaluación y está destinada a ser utilizada para configurar verificaciones. Es la propiedad más común que se pretende anular para verificaciones existentes. |
class Deque.AxeDevtools.Selenium.Spec.Rule
Usado para agregar reglas al conjunto existente de reglas, o para anular las propiedades de las reglas existentes.
| Campo | Tipo | Descripción |
|---|---|---|
| Todo | cadena[] | Esta es una lista de verificaciones que, si alguna "falla", generará una infracción. |
| Cualquiera | cadena[] | Esta es una lista de verificaciones que, si ninguna "pasa", generará una infracción. |
| Habilitado | bool? | Si la regla está activada. Este es un atributo común para anular. |
| ExcluirOcultos | bool? | Esto indica si los elementos que están ocultos para todos los usuarios deben ser pasados a la regla para su evaluación. |
| Id | cadena | Esto identifica de manera única la regla. Si la regla ya existe, se anulará con cualquiera de los atributos proporcionados. |
| Coincidencias | cadena | Un selector de CSS de filtrado que excluirá elementos que no coincidan con el selector CSS. |
| Ninguno | cadena[] | Esta es una lista de verificaciones que, si alguna "aprueba", generará una infracción. |
| NivelDePágina | bool? | Cuando se establece en verdadero, esta regla solo se aplica cuando se prueba toda la página. Los resultados de nodos en diferentes marcos se combinan en un solo resultado. |
| Selector | cadena | Un selector CSS utilizado para identificar los elementos que se pasan a la regla para evaluación. |
| Etiquetas | cadena[] | Una lista de las etiquetas que "clasifican" la regla. En la práctica, debe proporcionar algunas etiquetas válidas o la evaluación predeterminada no invocará la regla. La convención es incluir el estándar (WCAG 2, sección 508, Trusted Tester v5, o EN 301 549), el nivel de WCAG 2, el párrafo de la Sección 508, y los criterios de éxito de WCAG 2. Las etiquetas se construyen convirtiendo todas las letras a minúsculas, eliminando espacios y puntos, y concatenando el resultado. Por ejemplo, WCAG 2 A criterio de éxito 1.1.1 se convertiría en ["wcag2a", "wcag111"] |
class Deque.AxeDevtools.Selenium.Spec.Spec
Configura el formato de los datos utilizados por axe. Esto se puede usar para agregar nuevas reglas, que deben registrarse con la biblioteca para ejecutarse.
| Campo | Tipo | Descripción |
|---|---|---|
| Marca | Marca | Se utiliza para establecer la marca de los helpUrls. |
| Verificaciones | Verificación[] | Se utiliza para agregar verificaciones a la lista de verificaciones utilizadas por reglas, o para sobreescribir las propiedades de verificaciones existentes. |
| Localidad | Localidad | Un objeto de localidad para aplicar (en tiempo de ejecución) a todas las reglas y verificaciones. |
| VersiónDelReportero | VersiónDelReportero? | Se utiliza para establecer el formato de salida que devolverá la función axe.run. |
| Reglas | Regla[] | Se utiliza para agregar reglas al conjunto existente de reglas, o para sobreescribir las propiedades de reglas existentes. |
