Resultados de la validación – Cómo comprobar la accesibilidad web y guardar los resultados

Aspose.HTML for Java incluye el paquete com.aspose.html.accessibility, destinado a realizar y gestionar comprobaciones de accesibilidad web.

En este artículo se explica cómo revisar los resultados de la validación con respecto a las normas WCAG, informar de los criterios comprobados y detallar los problemas específicos encontrados durante la validación.

Para aprender a comprobar mediante programación la accesibilidad de un sitio web y obtener una guía paso a paso, lea el artículo Validador de accesibilidad – Comprobación de la accesibilidad del sitio web.

Clase ValidationResult

El paquete com.aspose.html.accessibility.results contiene clases que describen los resultados de la validación de las reglas de accesibilidad web. La clase ValidationResult es la clase principal que contiene los resultados de la comprobación de todos los criterios del objeto AccessibilityRules.

A continuación se muestra un fragmento de código Java para una comprobación de accesibilidad web. Configura un validador con ajustes específicos, valida un documento HTML, y muestra los resultados en la consola, permitiéndole identificar y tratar los problemas específicos en su documento HTML:

 1// Initialize a webAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// Create an accessibility validator with static instance for all rules
 5// from repository that match the builder settings
 6AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
 7
 8// Prepare a path to a source HTML file
 9String documentPath = "input.html";
10
11// Initialize an object of the HTMLDocument class
12final HTMLDocument document = new HTMLDocument(documentPath);
13ValidationResult validationResult = validator.validate(document);
14
15// Checking for success
16if (!validationResult.getSuccess()) {
17    // Get a list of RuleValidationResult Details
18    for (RuleValidationResult detail : validationResult.getDetails()) {
19        System.out.println(String.format("%s: %s = %s",
20                detail.getRule().getCode(),
21                detail.getRule().getDescription(),
22                detail.getSuccess()));
23    }
24}
Example_ValidationResult hosted with ❤ by GitHub

Clase RuleValidationResult

La clase RuleValidationResult representa el resultado de la validación de una regla de accesibilidad concreta. Proporciona información detallada sobre cómo se evaluó la regla, incluida una colección de elementos ITechniqueResult, cada uno de los cuales representa el método utilizado para cumplir los criterios de éxito.

La clase revela varias propiedades clave (métodos):

El siguiente código recorre la lista de objetos RuleValidationResult en la propiedad Details de un objeto validationResult. Cada RuleValidationResult representa el resultado de la comprobación de una regla de accesibilidad específica durante el proceso de validación:

1    // Get a list of RuleValidationResult Details
2    for (RuleValidationResult result : validationResult.getDetails())
3    {
4        System.out.println(String.format("%s: %s = %s",
5            result.getRule().getCode(), result.getRule().getDescription(), result.getSuccess()));
6    }

Supongamos que getDetails contiene los resultados de dos reglas: H37 y H67. El resultado será:

1H37:Check alt attributes for images = True
2H67:Check that all forms have labels = False

ITechniqueResult

ITechniqueResult es una interfaz pública que contiene información sobre el resultado de la comprobación de una determinada técnica de accesibilidad utilizada para satisfacer el criterio de éxito de una regla. Incluye un método getRule() para identificar la regla asociada, getSuccess() para indicar si la técnica se ha superado, y getError(), que devuelve un objeto IError con detalles de cualquier problema encontrado durante la comprobación. Esta interfaz ayuda a desglosar la comprobación de reglas en resultados de técnicas individuales para un análisis más detallado.

A continuación se muestra un ejemplo de la salida de resultados que no superaron la prueba de los criterios de éxito. Imprimimos en la consola la descripción del código de los criterios, así como todos los detalles de la ejecución de los métodos de estos criterios tanto con éxito como con errores:

 1// Initialize a webAccessibility container
 2WebAccessibility webAccessibility = new WebAccessibility();
 3
 4// Create an accessibility validator with static instance for all rules
 5// from repository that match the builder settings
 6AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
 7
 8String documentPath = "input.html";
 9
10// Initialize an object of the HTMLDocument class
11final HTMLDocument document = new HTMLDocument(documentPath);
12ValidationResult validationResult = validator.validate(document);
13
14// Take a list of rules results
15for (RuleValidationResult ruleResult : validationResult.getDetails()) {
16    // List only unsuccessful rule
17    if (!ruleResult.getSuccess()) {
18        // Print the code and description of the rule
19        System.out.println(String.format("%s: %s",
20                ruleResult.getRule().getCode(),
21                ruleResult.getRule().getDescription()
22        ));
23
24        // Print the results of all methods
25        for (ITechniqueResult ruleDetail : ruleResult.getResults()) {
26            // Print the code and description of the criterions
27            StringBuilder str = new StringBuilder(String.format("\n{0}: {1} - {2}",
28                    ruleDetail.getRule().getCode(),
29                    ruleDetail.getSuccess(),
30                    ruleDetail.getRule().getDescription()
31            ));
32            System.out.println(str);
33        }
34    }
35}
Example_IRuleResult hosted with ❤ by GitHub

Guardar resultados de validación

Una vez completado el proceso de validación, puede guardar los resultados para su posterior análisis, documentación e informes. La biblioteca Aspose.HTML for Java le permite guardar los resultados de la validación en un objeto TextWriter, donde un parámetro de tipo ValidationResultSaveFormat especifica en qué formato se guardará el texto.

Existen tres formatos principales para guardar los resultados de la validación de accesibilidad web:

Guardar resultados de validación en una cadena

Para guardar los resultados de la validación en una cadena, se utiliza el método saveToString():

 1String htmlPath = "input.html";
 2
 3final HTMLDocument document = new HTMLDocument(htmlPath);
 4AccessibilityValidator validator = new WebAccessibility().createValidator();
 5ValidationResult validationresult = validator.validate(document);
 6
 7// get rules errors in string format
 8String content = validationresult.saveToString();
 9
10// SaveToString - return only errors and warnings
11// if everything is ok, it will return "validationResult:true"
12System.out.println(content);
Example_SaveToString hosted with ❤ by GitHub

La salida se presenta en un formato de texto simple, indicando claramente el resultado de la comprobación y proporcionando información detallada sobre los errores con comentarios:

 1validationResult:False;
 2%%
 3technique: H35;
 4criterion: 1.1.1;
 5type: Error;
 6description: Check that the applet element contains an alt attribute with a text alternative for the applet. ;
 7source: <applet code="tictactoe.class" width="250" height="250">tic-tac-toe game</applet>;
 8%%
 9technique: H37;
10criterion: 1.1.1;
11type: Error;
12description: Img element missing an alt attribute. The value of this attribute is referred to as "alt text".;
13source: <img src="image1.jpeg">;
14%%
15
16...

Donde se indica el resultado de la comprobación validationResult y una lista de errores y comentarios:

Guardar resultados de validación en formato XML

Para aquellos que prefieren un formato más estructurado y legible por máquina, almacenar los resultados de la validación en XML es una opción adecuada. Veamos cómo guardar los resultados en formato XML utilizando el método saveTo(writer, format). Este método toma un objeto TextWriter y el ValidationResultSaveFormat deseado (en este caso, XML).

 1String htmlPath = "input.html";
 2
 3final HTMLDocument document = new HTMLDocument(htmlPath);
 4AccessibilityValidator validator = new WebAccessibility().createValidator();
 5ValidationResult validationresult = validator.validate(document);
 6
 7final java.io.StringWriter sw = new java.io.StringWriter();
 8validationresult.saveTo(sw, ValidationResultSaveFormat.XML);
 9
10String xml = sw.toString();
11System.out.println(xml);
12
13DocumentBuilderFactory documentBuildFactory = DocumentBuilderFactory.newInstance();
14DocumentBuilder documentBuilder = documentBuildFactory.newDocumentBuilder();
15documentBuilder.parse(new java.io.ByteArrayInputStream(xml.getBytes()));
Example_OutputToXML hosted with ❤ by GitHub

La representación XML resultante es un formato bien organizado para facilitar su análisis y posterior procesamiento:

 1<validationResult>
 2<isValid>false</isValid>
 3<details>
 4  <techniqueResult>
 5    <technique>H35</technique>
 6    <criterion>1.1.1</criterion>
 7    <type>Error</type>
 8    <description>Check that the applet element contains an alt attribute with a text alternative for the applet. </description>
 9    <source><![CDATA[<applet code="tictactoe.class" width="250" height="250">tic-tac-toe game</applet>]]>
10    </source>
11  </techniqueResult>
12  <techniqueResult>
13    <technique>H37</technique>
14    <criterion>1.1.1</criterion>
15    <type>Error</type>
16    <description>Img element missing an alt attribute. The value of this attribute is referred to as "alt text".</description>
17    <source><![CDATA[<img src="image1.jpeg">]]>
18    </source>
19  </techniqueResult>
20  
21   ...
22
23 </details>
24</validationResult>

Ver también

  • Encontrará consejos útiles para evaluar y mejorar la visibilidad del texto en el artículo Accesibilidad del contraste de color, que aborda la comprobación de contraste basada en WCAG con Aspose.HTML for Java.
  • Para obtener instrucciones sobre cómo comprobar la compatibilidad del contenido web con lectores de pantalla, consulte el artículo Accesibilidad de lectores de pantalla. Aprenderá a comprobar el texto alternativo y otros elementos clave.
  • En el artículo Comprobación de accesibilidad web – Errores y advertencias, aprenderá cómo recopilar programáticamente en Java información de errores y advertencias mientras se verifica la accesibilidad de un sitio web.

Aspose.HTML ofrece un Comprobador de accesibilidad web en línea gratuito. Esta herramienta escanea las páginas web, las valida para comprobar su conformidad con las WCAG, identifica problemas y sugiere mejoras. Obtenga información instantánea sobre la conformidad de su sitio web, lo que le permitirá determinar el alcance de las correcciones necesarias y la diferencia entre el estado actual de su sitio web o documento HTML y los requisitos WCAG.

Texto “Comprobador de accesibilidad web”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.