Validador de accesibilidad – verificación de accesibilidad del sitio web en C#

Crear validador – Accessibility Validator

Aspose.HTML for .NET proporciona el espacio de nombres Aspose.Html.Accessibility, que es para todas las manipulaciones y comprobaciones relacionadas con la accesibilidad web. La clase AccessibilityValidator inicializa un objeto que se utiliza para validar el documento según los criterios de éxito de las WCAG. La clase tiene un constructor interno, por lo tanto los usuarios no pueden crear directamente un objeto de la clase. Para crear un objeto, debe utilizar el contenedor WebAccessibility.

Para crear un validador, inicialice el objeto de la clase WebAccessibility de la siguiente manera:

1    // Initialize webAccessibility container
2    var webAccessibility = new WebAccessibility();

El objeto webAccessibility tiene los siguientes métodos básicos para crear un validador:

MethodsDescription
CreateValidator()An instance of AccessibilityValidator is created according to all the rules with a ValidationBuilder.All object.
CreateValidator(Action\<ValidationBuilder\> builder)An instance of AccessibilityValidator is created according to all the rules, where the builder is a lambda expression with a list of methods-settings.
CreateValidator(ValidationBuilder builder)An instance of AccessibilityValidator is created according to all the rules with a ValidationBuilder object.
CreateValidator(IRule rule)A new AccessibilityValidator instance is created for a specific rule, given the full parameters of the ValidationBuilder.All object.
CreateValidator(IRule rule, Action\<ValidationBuilder\> builder)Initializes a new instance of the AccessibilityValidator that contains a rule that matches the builder’s settings, where the builder is a lambda expression with a list of methods-settings.
CreateValidator(IRule rule, ValidationBuilder builder)Initializes a new instance of the AccessibilityValidator that contains a rule that matches the builder’s settings. The builder instance is a static instance of the class ValidationBuilder.
CreateValidator(IList\<IRule\> rules)An AccessibilityValidator instance is created for a specific rules list.
CreateValidator(IList<IRule> rules, ValidationBuilder builder)An AccessibilityValidator instance is created for a specific list of rules based on the settings of the ValidationBuilder object.
CreateValidator(IList\<IRule\> rules, Action\<ValidationBuilder\> builder)An AccessibilityValidator instance is created for a specific list of rules where the builder is a lambda expression with a list of settings ValidationBuilder.

Los siguientes son ejemplos de inicialización de un objeto AccessibilityValidator. El primer validador (validator) es una instancia integral creada con ValidationBuilder.All, que aplica todas las reglas del repositorio. Se recupera un principio específico utilizando su código y se crea un segundo validador (validatorRule) para las reglas asociadas con ese principio mientras se adhiere a la misma configuración integral. Finalmente, se configura un tercer validador (validatorCSS) utilizando una expresión lambda para refinar los criterios de validación, apuntando a todos los niveles e incorporando reglas basadas en CSS. Este enfoque ofrece flexibilidad a la hora de adaptar los validadores para comprobaciones de accesibilidad específicas, lo que permite estrategias de validación específicas.

 1	// Initialize a webAccessibility container
 2    var webAccessibility = new WebAccessibility();
 3    
 4	// Create an accessibility validator with a static instance for all rules from repository that match the builder settings
 5    var validator = webAccessibility.CreateValidator(ValidationBuilder.All);
 6	
 7    // Get a principle by code
 8    IRule rule = webAccessibility.Rules.GetPrinciple("1");
 9
10    // Create an accessibility validator for one principle, whose rules match the instance settings ValidationBuilder.All
11    var validatorRule = webAccessibility.CreateValidator(rule, ValidationBuilder.All);
12
13    // Create an accessibility validator with lambda-expression settings for all rules from repository that match the builder settings inside a project
14    var validatorCSS = new AccessibilityValidator(builder => builder.AllLevels().UseCSS());

Clase ValidationBuilder

La clase ValidationBuilder define una clase auxiliar que se puede utilizar para personalizar la lista de reglas que debe verificar el validador. ValidationBuilder define métodos y proporciona implementaciones concretas de los pasos de configuración.

Method/PropertyDescription
ValidationBuilder.NoneNone of the parameter settings are specified, it is convenient for creating a filter from scratch, when you need to specify which levels, technologies, etc. should be used when checking.
ValidationBuilder.DefaultRules for General technologies, Failures for all levels of criteria will be used when checking the document.
ValidationBuilder.AllThe verification will take place at all levels of criteria, for all technologies, including HTML,CSS,Crtipt.
SetHTMLTags(params string[] tags)The user can specify a list of html-tags to be checked in the document.
AllTechnologies()All technologies will be applied when checking the document.
UseHTML()The method indicates that elements of the HTML technology will be checked in the document.
UseCSS()The method indicates that elements of the CSS technology will be checked in the document.
UseScript()The method indicates that elements of the ClientSide-Script technology will be checked in the document.
UseFailures()The method indicates that failures rules will be checked in the document.
UseGeneral()The method indicates that general rules will be checked in the document.
AllLevels()The method sets all criteria levels and indicates that the document will be checked according to the criteria of all three levels.
UseLowestLevel()The method determines that the document must be validated against low-level criteria.
UseMiddleLevel()The method determines that the document must be validated against mid-level criteria.
UseHighestLevel()The method determines that the document must be validated against high-level criteria.

El siguiente fragmento de código es un ejemplo de cómo crear el constructor y pasarlo como parámetro al validador:

 1	// Initialize a webAccessibility container
 2    WebAccessibility webAccessibility = new WebAccessibility();
 3
 4    // Create an accessibility validator with object All
 5    var validator = webAccessibility.CreateValidator(ValidationBuilder.All);
 6
 7    // Create an accessibility validator with empty filters, and set's html and css technologies, low and middle levels
 8    var validatorHTML = webAccessibility.CreateValidator(ValidationBuilder.None.UseHTML()
 9                                                                               .UseCSS()
10                                                                               .UseLowestLevel()
11                                                                               .UseMiddleLevel());
12
13    // Create an accessibility validator with lambda-expression for all levels and only CSS technologies
14    var validatorCSS = webAccessibility.CreateValidator(builder => builder.AllLevels().UseCSS());
15
16    // Create an accessibility validator for all levels of criterion and only img and input elements will be checking
17    var validatorIMG = webAccessibility.CreateValidator(builder => builder.AllLevels()
18										.AllTechnologies()
19                                        .SetHTMLTags("img", "input"));

Clase ValidationResult

La clase ValidationResult es el componente central de la validación de accesibilidad web. Encapsula los resultados de las comprobaciones de accesibilidad y proporciona una forma estructurada de analizar, gestionar y actuar sobre los resultados de las operaciones de validación. Para usarlo, cree una instancia de un objeto validador e invoque el método Validate(HTMLDocument document), pasando el documento a validar. El método devuelve un objeto ValidationResult que contiene los resultados del proceso de validación.

Propiedades clave:

PropertyDescription
SuccessReturns a boolean that says whether the validation succeeded.
DetailsReturns Collection of RuleValidationResult objects containing details about any validation results.

Validar Documento

Para ejecutar la validación de documentos, debe realizar los siguientes pasos:

  1. Utilice el constructor WebAccessibility() para crear una instancia de la clase WebAccessibility responsable de la verificación de accesibilidad web.
  2. Llame al método CreateValidator() para crear un objeto validador.
  3. Cargue un documento HTML usando uno de los constructores HTMLDocument().
  4. Utilice el método Validate(HTMLDocument document) para validar el documento según las reglas de accesibilidad web.
  5. El resultado de la validación es una instancia de la clase ValidationResult.
  6. Imprima los resultados de la validación en la consola y utilícelos según sea necesario para realizar análisis adicionales.

A continuación se muestra un ejemplo de cómo llamar a una validación de documento. El siguiente código escribirá en la consola cuál de las reglas pasó la prueba y cuál no:

 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}

Puede encontrar una descripción más completa en el artículo Resultados de la validación: comprobar la accesibilidad web en C#.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.