Accessibility Validator – Vérification de l'accessibilité des sites web selon les WCAG

Créer un validateur

Aspose.HTML for .NET fournit l’espace de noms Aspose.Html.Accessibility, qui est destiné à toutes les manipulations et vérifications liées à l’accessibilité du web. La classe AccessibilityValidator initialise un objet utilisé pour valider le document en fonction des critères de réussite des WCAG. La classe n’a pas de constructeur interne, les utilisateurs ne peuvent donc pas créer directement un objet de la classe. Pour créer un objet, vous devez utiliser le conteneur WebAccessibility.

Pour créer un validateur, initialisez l’objet de la classe WebAccessibility comme suit :

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

L’objet webAccessibility possède les méthodes de base suivantes pour créer un validateur :

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.

Voici des exemples d’initialisation d’un objet AccessibilityValidator. Le premier validateur (validator) est une instance complète créée avec ValidationBuilder.All, appliquant toutes les règles du référentiel. Un principe spécifique est récupéré en utilisant son code, et un second validateur (validatorRule) est créé pour les règles associées à ce principe tout en adhérant aux mêmes paramètres globaux. Enfin, un troisième validateur (validatorCSS) est mis en place à l’aide d’une expression lambda pour affiner les critères de validation, en ciblant tous les niveaux et en incorporant des règles basées sur les CSS. Cette approche offre une certaine souplesse dans l’adaptation des validateurs à des contrôles d’accessibilité spécifiques, ce qui permet de mettre en place des stratégies de validation ciblées.

 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());

Classe ValidationBuilder

La classe ValidationBuilder définit une classe d’aide qui peut être utilisée pour personnaliser la liste des règles à vérifier par le validateur. La classe ValidationBuilder définit des méthodes et fournit des implémentations concrètes des étapes de configuration.

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.

L’extrait de code suivant est un exemple de création du constructeur et de son passage en tant que paramètre au validateur :

 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"));

Classe ValidationResult

La classe ValidationResult est l’élément central de la validation de l’accessibilité du web. Elle encapsule les résultats des contrôles d’accessibilité, en fournissant un moyen structuré d’analyser, de gérer et d’agir sur les résultats des opérations de validation. Pour l’utiliser, instanciez un objet validateur et invoquez la méthode Validate(document), en lui passant le document à valider. La méthode renvoie un objet ValidationResult contenant les résultats du processus de validation.

Propriétés principales :

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

Valider le document

Pour lancer la validation des documents, vous devez effectuer les étapes suivantes :

  1. Utilisez le constructeur WebAccessibility() pour créer une instance de la classe WebAccessibility responsable de la vérification de l’accessibilité du web.
  2. Appelez la méthode CreateValidator() pour créer un objet validator.
  3. Charge un document HTML à l’aide de l’un des constructeurs HTMLDocument().
  4. Utilisez la méthode Validate(document) pour valider le document en fonction des règles d’accessibilité du web.
  5. Le résultat de la validation est une instance de la classe ValidationResult.
  6. Imprimez les résultats de la validation sur la console et utilisez-les si nécessaire pour une analyse plus approfondie.

Voici un exemple d’appel à la validation d’un document. Le code suivant écrira dans la console quelles règles ont passé le test et lesquelles ne l’ont pas passé :

 1// Validate HTML against WCAG rules using C#
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
 7AccessibilityValidator validator = webAccessibility.CreateValidator(ValidationBuilder.All);
 8
 9// Prepare a path to a source HTML file
10string documentPath = Path.Combine(DataDir, "input.html");
11
12// Initialize an object of the HTMLDocument class
13using (HTMLDocument document = new HTMLDocument(documentPath))
14{
15    // Check the document
16    ValidationResult validationResult = validator.Validate(document);
17
18    // Checking for success
19    if (!validationResult.Success)
20    {
21        // Get a list of RuleValidationResult Details
22        foreach (RuleValidationResult detail in validationResult.Details)
23        {
24            Console.WriteLine("{0}:{1} = {2}", detail.Rule.Code, detail.Rule.Description, detail.Success);
25        }
26    }
27}

Une description plus complète peut être trouvée dans l’article Validation Results – Check Web Accessibility in C#.

Voir aussi

  • Dans le chapitre Vérification de l’accessibilité du Web, vous apprendrez à vérifier l’accessibilité d’un site Web pour qu’il soit conforme aux WCAG ou qu’il réponde uniquement à des critères spécifiques en utilisant les classes et les méthodes des espaces de noms Aspose.Html.Accessibility et Aspose.Html.Accessibility.Results.
  • L’article Accessibilité aux lecteurs d’écran explique comment concevoir un site web pour l’accessibilité aux lecteurs d’écran conformément aux directives WCAG en utilisant l’API Aspose.HTML for .NET.
  • Consultez l’article Vérifier le contraste des couleurs en C# si vous souhaitez apprendre à ajuster correctement le contraste de votre contenu web conformément aux normes WCAG, l’autorité mondiale en matière d’accessibilité du web. Vous découvrirez comment tester l’accessibilité du contraste des couleurs à l’aide de C# et rendre votre contenu web facile à lire pour tous les utilisateurs.
  • Dans l’article Règles d’accessibilité du web, vous apprendrez à utiliser la classe AccessibilityRules, qui est un référentiel d’exigences, de critères de réussite et de techniques WCAG 2, pour les contrôles d’accessibilité du web.
  • L’article Erreurs et avertissements traite des classes et des interfaces qui permettent de collecter des informations sur les erreurs et les avertissements lors des tests d’accessibilité des sites web. Il se concentre sur les critères d’échec et les méthodes qui signalent les erreurs, et fournit un exemple en C# pour récupérer les erreurs d’accessibilité du web après avoir testé un document HTML.

Aspose.HTML propose gratuitement en ligne Vérificateur d’accessibilité Web. Cet outil analyse les pages web, valide leur conformité aux WCAG, identifie les problèmes et suggère des améliorations. Il vous permet de déterminer l’ampleur des corrections nécessaires et l’écart entre l’état actuel de votre site web ou de votre document HTML et les exigences des WCAG.

Texte “Vérificateur d’accessibilité Web” (vérificateur d’accessibilité du Web)

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.