Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Si vous souhaitez vérifier la conformité de votre site Web avec les directives WCAG de manière programmatique en C#, 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. Découvrez si votre site web est conforme aux WCAG !
Cet article traite de la couleur et du contraste approprié selon les WCAG, l’autorité mondiale en matière d’accessibilité du web. Vous apprendrez à vérifier le contraste des couleurs à l’aide de Aspose.HTML for .NET API et à rendre votre contenu Web facile à lire pour tous les utilisateurs.
Dans la théorie des couleurs, les couleurs contrastées sont des couleurs provenant de segments opposés du cercle chromatique. Les couleurs directement opposées sur le cercle chromatique de base offrent un contraste maximal. L’accessibilité du contraste des couleurs est essentielle pour garantir que le contenu du web est lisible et utilisable par les personnes souffrant de déficiences visuelles ou de troubles de la vision des couleurs. Les principes d’accessibilité mettent l’accent sur le contraste entre le texte et les couleurs d’arrière-plan afin de rendre le contenu lisible et distinctif. Le choix du bon contraste et de la bonne couleur est essentiel pour créer une expérience web inclusive et conviviale pour tous.
Les critères d’essai pour le contraste des couleurs sont contenus dans la ligne directrice 1.4 – Distinguishable, il existe de tels critères d’essai :
En ce qui concerne le contraste des couleurs, les WCAG déterminent deux niveaux de taux de contraste en fonction du niveau des critères de réussite : AA (contraste minimum) et AAA (contraste renforcé). Les critères vérifient le rapport de contraste entre le texte et son arrière-plan. Les rapports de contraste peuvent varier de 1 à 21.
Vous trouverez ci-dessous un exemple de contraste correct entre la police et l’arrière-plan et un exemple de contraste insuffisant :
Écrivons le code HTML de cet exemple dans le fichier check-color.html et vérifions le contraste des couleurs à l’aide de l’API Aspose.HTML for .NET.
1<html>
2 <head>
3 <style>
4 div {
5 font-family: sans-serif;
6 text-align: center;
7 font-weight: bold;
8 text-align: center;
9 padding: 10px;
10 border-radius: 15px;
11 width: 300px;
12 margin: auto;
13 }
14 .bad {
15 background-color: #045DE2;
16 font-size: 16px;
17 }
18 .good {
19 background-color: #f0f6ff;
20 font-size: 18px;
21 }
22 </style>
23 </head>
24 <body>
25 <div class="good">Good contrast</div>
26 <div class="bad">Bad contrast</div>
27 </body>
28</html>Pour les utilisateurs malvoyants, il est nécessaire de pouvoir percevoir normalement le contenu de la page. Le contraste entre le texte et l’arrière-plan doit être suffisant pour permettre cette perception. Pour vérifier tous les critères relatifs à la vérification du contraste – trouvez le principe par le code et passez-le au validateur d’accessibilité :
1// Perform web accessibility validation on HTML document, focusing on the use of colors and color contrast
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "check-color.html");
5
6// Initialize a webAccessibility container
7WebAccessibility webAccessibility = new WebAccessibility();
8
9// Get Principle "1.Perceivable" by code "1" and get guideline "1.4"
10Guideline guideline = webAccessibility.Rules.GetPrinciple("1").GetGuideline("1.4");
11
12// Get criterion by code, for example 1.4.3
13Criterion criterion143 = guideline.GetCriterion("1.4.3");
14
15// Get criterion by code, for example 1.4.6
16Criterion criterion146 = guideline.GetCriterion("1.4.6");
17
18// Create an accessibility validator, pass the found guideline as parameters and specify the full validation settings
19AccessibilityValidator validator = webAccessibility.CreateValidator(new IRule[] { criterion143, criterion146 }, ValidationBuilder.All);
20
21using (HTMLDocument document = new HTMLDocument(documentPath))
22{
23 ValidationResult validationResult = validator.Validate(document);
24 if (!validationResult.Success)
25 {
26 Console.WriteLine(validationResult.SaveToString());
27 }
28}Le code C# suivant est conçu pour valider une page web en fonction de critères d’accessibilité spécifiques, et vous recevrez un rapport sur les problèmes liés à ces règles. Pour vérifier un critère spécifique, spécifiez-le en tant que paramètre du validateur d’accessibilité :
criterion contient maintenant le critère spécifique “1.4.3”, et vous pouvez l’utiliser lors de la création d’un validateur pour vérifier votre contenu web par rapport à ce critère particulier.criterion et ValidationBuilder.All.document) pour vérifier le contenu HTML en fonction du critère sélectionné. Le résultat est stocké dans la variable validationResult. 1// Check color contrast on an HTML document using C#
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "check-color.html");
5
6// Initialize a webAccessibility container
7WebAccessibility webAccessibility = new WebAccessibility();
8
9// Get Principle "1.Perceivable" by code "1" and get guideline "1.4"
10Guideline guideline = webAccessibility.Rules.GetPrinciple("1").GetGuideline("1.4");
11
12// Get criterion by code, for example 1.4.3
13Criterion criterion = guideline.GetCriterion("1.4.3");
14
15// Create an accessibility validator, pass the found guideline as parameters and specify the full validation settings
16AccessibilityValidator validator = webAccessibility.CreateValidator(criterion, ValidationBuilder.All);
17
18using (HTMLDocument document = new HTMLDocument(documentPath))
19{
20 ValidationResult validationResult = validator.Validate(document);
21 if (!validationResult.Success)
22 {
23 // Get all result details
24 foreach (RuleValidationResult ruleResult in validationResult.Details)
25 {
26 // If the result of the rule is unsuccessful
27 if (!ruleResult.Success)
28 {
29 // Get errors list
30 foreach (ITechniqueResult result in ruleResult.Errors)
31 {
32 // Check the type of the erroneous element, in this case we have an error in the html element rule
33 if (result.Error.Target.TargetType == TargetTypes.HTMLElement)
34 {
35 // Element of file with error
36 HTMLElement rule = (HTMLElement)result.Error.Target.Item;
37
38 Console.WriteLine("Error in rule {0} : {1}", result.Rule.Code, result.Error.ErrorMessage);
39 Console.WriteLine("CSS Rule: {0}", rule.OuterHTML);
40 }
41 }
42 }
43 }
44 }
45}Le résultat de la vérification du fichier sera une liste de résultats contenant une erreur de type IError. Le programme affichera une sortie sur la console :
1Error in rule G18 : Make sure the contrast ratio between the text (and images of text) and the background behind the text is at least 4.5:1 for text less than 18 points if it is not in bold, and less than 14 points if it is in bold.
2 CSS Rule: <div class="bad">Bad contrast</div>Voir aussi
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.