Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Comprobar la accesibilidad de un sitio web significa asegurarse de que todo el mundo, incluidas las personas con discapacidad, puede utilizar su sitio web o aplicación. Esto implica comprobar su contenido según directrices como WCAG, que describen cómo hacer que las experiencias digitales sean más inclusivas. Con Aspose.HTML for Java, puede automatizar este proceso analizando HTML y CSS en busca de problemas de accesibilidad, ya sea con respecto al conjunto completo de normas WCAG o centrándose en criterios específicos.
En este artículo, aprenderás a evaluar la accesibilidad de un sitio web para comprobar que cumple las WCAG utilizando las clases y métodos de los paquetes com.aspose.html.accessibility y com.aspose.html.accessibility.results. Exploraremos varias clases e interfaces que ayudan a recopilar información sobre errores y advertencias al comprobar la accesibilidad de un sitio web. Se prestará especial atención a los criterios de fallo y a los métodos para informar de errores, junto con un ejemplo Java que demuestra cómo recuperar errores de accesibilidad web después de validar un documento HTML.
Veamos un fragmento de código relacionado con la validación de accesibilidad web. El siguiente código comprueba la accesibilidad de una página HTML remota utilizando todas las reglas de validación WCAG e imprime los detalles de cualquier regla que no se haya cumplido correctamente:
Url).document) para comprobar la accesibilidad de la página web. El resultado se almacena en la variable validationResult. 1// Check website for WCAG compliance in Java
2
3// Initialize webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator with static instance
7// for all rules from repository that match the builder settings
8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
9
10// Initialize an HTMLDocument object
11final HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net/generators/video/");
12ValidationResult validationResult = validator.validate(document);
13
14// Checking for success
15if (!validationResult.getSuccess()) {
16 // Get a list of Details
17 for (RuleValidationResult detail : validationResult.getDetails()) {
18 System.out.println(String.format("%s: %s = %s",
19 detail.getRule().getCode(),
20 detail.getRule().getDescription(),
21 detail.getSuccess()
22 ));
23 }
24}La detección de errores ayuda a identificar las barreras que pueden impedir a las personas con discapacidad utilizar e interactuar con los contenidos web de forma eficaz. Los errores y advertencias orientan sobre lo que hay que hacer para mejorar la accesibilidad web. Sirven de hoja de ruta para que desarrolladores y diseñadores realicen los cambios necesarios.
El IError es una interfaz pública que contiene información sobre el error de validación. Esto significa una comprobación errónea, es decir, que la regla no se ha superado – y su resultado no coincide con Accessibility.
La interfaz
IError describe los detalles de un problema de validación encontrado durante las comprobaciones de accesibilidad. Proporciona información clave sobre el error, incluyendo un mensaje legible por humanos a través de getErrorMessage(), el estado del resultado con getSuccess(), y el tipo de error como un valor numérico (getErrorType()) y un nombre descriptivo (getErrorTypeName()), como Error o Warning. Además, getTarget() devuelve el elemento HTML o CSS específico en el que se ha encontrado el problema, lo que permite identificar y corregir con precisión los problemas de accesibilidad. Esta interfaz es esencial para interpretar e informar eficazmente de los resultados de las comprobaciones de accesibilidad.
El objeto IError tiene estos significados
* ErrorType = 1 and Success = false – this means that the error is critical, and the result of the check is not performed.
* ErrorType = 2 and Success = true – this means that the error is not critical but has an informational character and displays hints for possible improvement.
El tipo de error viene determinado por el tipo de técnica:
ErrorType=1 y Success=false, y es un Error.ErrorType=2 y Success=true, y se tratará de una Warning.La clase
Target representa un elemento HTML o CSS específico en el que se ha detectado un error o advertencia de accesibilidad durante la validación. Proporciona dos propiedades clave: Item, que devuelve el objeto real (como una etiqueta HTML o una regla CSS) que causó el problema, y TargetType, que determina si el origen del problema es un elemento HTML o un componente CSS.
La enumeración TargetTypes define los posibles tipos de objetos de un documento HTML en los que se puede encontrar un error o advertencia de accesibilidad. Ayuda a clasificar el origen del problema, facilitando su identificación y resolución. La enumeración incluye tres valores:
| Name | Value | Description |
|---|---|---|
| HTMLElement | 0 | The element containing the HTMLElement from a document: standard HTML elements such as <img> or <button>. |
| CSSStyleRule | 1 | The element containing the CSSStyleRule from a document: specific CSS rules in stylesheets. |
| CSSStyleSheet | 2 | The element containing the CSSStyleSheet from a document: entire CSS stylesheets. |
Esta enumeración funciona en conjunción con la clase Target para indicar exactamente qué tipo de elemento causó el resultado de la validación.
Veamos el código Java para iterar por los resultados de la comprobación de accesibilidad web, prestando especial atención a los criterios de fallo y a los detalles de los métodos que informan de los errores. Ejemplo de obtención de detalles de errores y elementos de un documento HTML:
ruleResult contenidos en validationResult.getDetails(). Estos representan diferentes criterios de accesibilidad.ruleDetail contenidos en ruleResult.getErrors(). Los objetos ITechniqueResult representan resultados de reglas individuales para el criterio que informó errores.error del ruleDetail. El ruleDetail representa un problema de accesibilidad específico, y el objeto error contiene información sobre ese problema.target asociado al error. El objeto target suele representar el elemento HTML específico, la regla CSS u otro contenido que ha provocado el error de accesibilidad.error.getErrorTypeName() y el mensaje de error error.getErrorMessage(). 1// Check HTML for WCAG compliance and output failed rule codes and error messages
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibility validator with static instance
7// for all rules from repository that match the builder settings
8AccessibilityValidator validator = webAccessibility.createValidator(ValidationBuilder.getAll());
9
10String documentPath = "input.html";
11
12// Initialize an object of the HTMLDocument class
13final HTMLDocument document = new HTMLDocument(documentPath);
14ValidationResult validationResult = validator.validate(document);
15
16for (RuleValidationResult ruleResult : validationResult.getDetails()) {
17 // list only unsuccessful rule
18 if (!ruleResult.getSuccess()) {
19 // print the code and description of the rule
20 System.out.println(String.format("%s: %s = %s",
21 ruleResult.getRule().getCode(),
22 ruleResult.getRule().getDescription(),
23 ruleResult.getSuccess()
24 ));
25
26 // print the results of methods with errors
27 for (ITechniqueResult ruleDetail : ruleResult.getErrors()) {
28 // print the code and description of the method
29 StringBuilder str = new StringBuilder(String.format("\n{0}: {1} - {2}",
30 ruleDetail.getRule().getCode(),
31 ruleDetail.getSuccess(),
32 ruleDetail.getRule().getDescription()
33 ));
34 // get an error object
35 IError error = ruleDetail.getError();
36 // get a target object
37 Target target = error.getTarget();
38 // get error type and message
39 str.append(String.format("\n\n\t%s : %s",
40 error.getErrorTypeName(),
41 error.getErrorMessage()
42 ));
43
44 if (target != null) {
45 // Checking the type of the contained object for casting and working with it
46 if (target.getTargetType() == TargetTypes.CSSStyleRule) {
47 ICSSStyleRule cssRule = (ICSSStyleRule) target.getItem();
48 str.append(String.format("\n\n\t%s",
49 cssRule.getCSSText()
50 ));
51 }
52 if (ruleDetail.getError().getTarget().getTargetType() == TargetTypes.CSSStyleSheet) {
53 str.append(String.format("\n\n\t%s",
54 ((ICSSStyleSheet) target.getItem()).getTitle()
55 ));
56 }
57 if (ruleDetail.getError().getTarget().getTargetType() == TargetTypes.HTMLElement) {
58 str.append(String.format("\n\n\t%s",
59 ((HTMLElement) target.getItem()).getOuterHTML()
60 ));
61 }
62 }
63 System.out.println(str);
64 }
65 }
66}Para cada criterio fallido, el código enumera las descripciones de las reglas, los métodos fallidos, los mensajes de error y destaca el elemento HTML o CSS exacto en el que se encontró el problema. Este enfoque es ideal para generar un informe de accesibilidad completo y preciso, que incluya el contexto del error y diagnósticos técnicos para los desarrolladores.
Ver también
Aspose.HTML ofrece una herramienta en línea gratuita Comprobador de contraste de color para comprobar las relaciones de contraste en tus diseños web. Esta herramienta proporciona información sobre si los colores elegidos cumplen las normas de accesibilidad.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.