Referencia de la API de C#

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Referencia de la API para las clases y métodos de Axe DevTools para Web en C#

Not for use with personal data

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.