Resultados de la validación – verifique la accesibilidad web en C#
Aspose.HTML for .NET proporciona el espacio de nombres Aspose.Html.Accessibility, que está destinado a todas las manipulaciones y comprobaciones relacionadas con la accesibilidad web. En este artículo, aprenderá cómo revisar los resultados de las comprobaciones de accesibilidad web para compararlos con el cumplimiento de las WCAG, informar los criterios probados y detallar los problemas específicos encontrados durante la validación.
Puede aprender cómo verificar mediante programación la accesibilidad del sitio web en el artículo Validador de accesibilidad: verificación de accesibilidad del sitio web en C#.
Clase ValidationResult
El espacio de nombres Aspose.Html.Accessibility.Results contiene clases que describen los resultados de la validación de reglas. La clase ValidationResult es la clase principal que contiene resultados para todos los criterios. El objeto ValidationResult incluye una descripción de los resultados de la verificación de un documento y tiene propiedades:
Property | Description |
---|---|
Success | Returns a boolean that says whether the validation succeeded. |
Details | Returns IList< RuleValidationResult> containing objects of RuleValidationResult with information about validation results. |
SaveToString() | Save validation results to string |
SaveTo(TextWriter writer ) | Saves the validation results in a System.IO.TextWriter object in text format. |
SaveTo(TextWriter writer, ValidationResultSaveFormat format ) | Saves the validation results to the System.IO.TextWriter object, where the ValidationResultSaveFormat type parameter specifies in what format the text will be saved. |
Aquí hay un fragmento de código C# para una verificación de accesibilidad web. Configura un validador con configuraciones específicas, valida un documento HTML y envía los resultados de la validación a la consola:
1// Initialize a webAccessibility container
2var webAccessibility = new WebAccessibility();
3
4// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
5var validator = webAccessibility.CreateValidator(ValidationBuilder.All);
6
7// Prepare a path to a source HTML file
8string documentPath = Path.Combine(DataDir, "input.html");
9
10// Initialize an object of the HTMLDocument class
11using (var document = new HTMLDocument(documentPath))
12{
13 // Check the document
14 ValidationResult validationResult = validator.Validate(document);
15
16 // Checking for success
17 if (!validationResult.Success)
18 {
19 // Get a list of RuleValidationResult Details
20 foreach (var detail in validationResult.Details)
21 {
22 Console.WriteLine("{0}:{1} = {2}", detail.Rule.Code, detail.Rule.Description, detail.Success);
23 }
24 }
25}
El código genera información sobre problemas de accesibilidad a la consola, lo que le permite identificar y abordar los problemas específicos en su documento HTML.
Clase RuleValidationResult
La clase RuleValidationResult, un resultado de la verificación de reglas, contiene una lista de resultados de métodos ITechniqueResult, que son formas de satisfacer los criterios de éxito.
Property | Description |
---|---|
Success | Returns a boolean that says whether the validation succeeded. |
Rule | Returns the checked rule. The rule has a type that implements the IRule interface. |
Results | Returns a collection of all results, both successful and not. Returns type is IList< ITechniqueResult>. |
Errors | Returns a collection of results with Errors. Returns type is IList< ITechniqueResult>. |
Warnings | Returns a collection of results with Warnings. Returns type is IList< ITechniqueResult>. |
El siguiente código recorre en iteración la lista de objetos RuleValidationResult
en la propiedad Details
de un objeto validationResult
. Cada RuleValidationResult
representa el resultado de una verificación de regla de accesibilidad específica durante el proceso de validación:
1 // Get a list of RuleValidationResult Details
2 foreach (RuleValidationResult result in validationResult.Details)
3 {
4 Output.WriteLine("{0}:{1} = {2}", result.Rule.Code, result.Rule.Description, result.Success);
5 }
Assume the Details
contains results for two rules - H37 and H67. The output will be:
1H37:Check alt attributes for images = True
2H67:Check that all forms have labels = False
ITechniqueResult
El ITechniqueResult es una interfaz pública que contiene información sobre el resultado de la validación.
Property | Description |
---|---|
Success | Returns a boolean that says whether the validation succeeded. |
Rule | Returns the checked technique with type of IRule. |
Error | Returns the object with error. Returns type is IError. |
A continuación se muestra un ejemplo de C# del resultado de resultados que no pasaron la prueba de 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:
- Cada
RuleValidationResult
representa un criterio de accesibilidad específico evaluado durante la validación. El código itera a través de los objetosRuleValidationResult
contenidos envalidationResult.Details
. - Compruebe si el criterio no tuvo éxito:
!criterionResult.Success
. Si el criterio falla, el código informa información sobre el criterio fallido. - Utilice
Console.WriteLine
para imprimir el código y la descripción del criterio fallido. - Luego, repita los objetos
ITechniqueResult
. Estos objetos “ITechniqueResult” representan los resultados de reglas individuales para el criterio que informó errores. - Para cada resultado de regla, cree un objeto
StringBuilder
para formatear la información sobre el método, incluido el código del método, el éxito del método y la descripción del método. - Imprima información sobre el resultado de cada regla, incluido el código del método, el estado de éxito y la descripción.
1// Initialize a webAccessibility container
2var webAccessibility = new WebAccessibility();
3
4// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
5var validator = webAccessibility.CreateValidator(ValidationBuilder.All);
6
7string documentPath = Path.Combine(DataDir, "input.html");
8
9// Initialize an object of the HTMLDocument class
10using (var document = new HTMLDocument(documentPath))
11{
12 // Check the document
13 ValidationResult validationResult = validator.Validate(document);
14
15 // Take a list of rules results
16 foreach (var ruleResult in validationResult.Details)
17 {
18 // List only unsuccessful rule
19 if (!ruleResult.Success)
20 {
21 // Print the code and description of the rule
22 Console.WriteLine("{0}:{1}", ruleResult.Rule.Code, ruleResult.Rule.Description);
23
24 // Print the results of all methods
25 foreach (ITechniqueResult ruleDetail in ruleResult.Results)
26 {
27 // Print the code and description of the criterions
28 StringBuilder str = new StringBuilder(string.Format("\n{0}: {1} - {2}",
29 ruleDetail.Rule.Code, ruleDetail.Success,
30 ruleDetail.Rule.Description));
31 Console.WriteLine(str.ToString());
32 }
33 }
34 }
35}
El uso de Aspose.HTML for .NET le permite revisar sistemáticamente los resultados de las comprobaciones de accesibilidad web, informar los criterios probados y detallar los problemas específicos encontrados durante el proceso de validación. Esto es útil para comprender la naturaleza de los problemas de accesibilidad del contenido web y tomar las medidas adecuadas para resolverlos.