From 726183910acdd1a01e3bae21f95130694b8e0c30 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul Date: Thu, 30 Jan 2025 09:57:45 +0100 Subject: [PATCH 1/5] add useful links page --- src/_includes/layouts/base.njk | 3 + src/assets/resources/aria.json | 37 ++ src/assets/resources/colors.json | 17 + src/assets/resources/drag-drop.json | 13 + src/assets/resources/forms.json | 41 +++ src/assets/resources/graphics.json | 13 + src/assets/resources/how-to-test.json | 41 +++ src/assets/resources/keyboard.json | 21 ++ src/assets/resources/links.json | 17 + src/assets/resources/mobiles.json | 49 +++ .../norms-and-legal-obligations.json | 44 +++ src/assets/resources/referentiels-audit.json | 33 ++ src/assets/resources/standard-html.json | 21 ++ src/assets/resources/tables.json | 21 ++ src/assets/resources/target-size.json | 13 + src/assets/resources/w3c-wcag.json | 29 ++ src/assets/resources/web-a11y-general.json | 161 +++++++++ src/assets/useful-links.js | 30 ++ src/fr/index.md | 3 + src/fr/liens-utiles.njk | 315 ++++++++++++++++++ 20 files changed, 922 insertions(+) create mode 100644 src/assets/resources/aria.json create mode 100644 src/assets/resources/colors.json create mode 100644 src/assets/resources/drag-drop.json create mode 100644 src/assets/resources/forms.json create mode 100644 src/assets/resources/graphics.json create mode 100644 src/assets/resources/how-to-test.json create mode 100644 src/assets/resources/keyboard.json create mode 100644 src/assets/resources/links.json create mode 100644 src/assets/resources/mobiles.json create mode 100644 src/assets/resources/norms-and-legal-obligations.json create mode 100644 src/assets/resources/referentiels-audit.json create mode 100644 src/assets/resources/standard-html.json create mode 100644 src/assets/resources/tables.json create mode 100644 src/assets/resources/target-size.json create mode 100644 src/assets/resources/w3c-wcag.json create mode 100644 src/assets/resources/web-a11y-general.json create mode 100644 src/assets/useful-links.js create mode 100644 src/fr/liens-utiles.njk diff --git a/src/_includes/layouts/base.njk b/src/_includes/layouts/base.njk index f96f3c30c..ac2b7f15b 100644 --- a/src/_includes/layouts/base.njk +++ b/src/_includes/layouts/base.njk @@ -95,5 +95,8 @@ {% include "partials/licence.njk" %} + {% if usefulLinks == true %} + + {% endif %} diff --git a/src/assets/resources/aria.json b/src/assets/resources/aria.json new file mode 100644 index 000000000..de8051c9a --- /dev/null +++ b/src/assets/resources/aria.json @@ -0,0 +1,37 @@ +{ + "urls": [ + { + "name": "WAI-ARIA Overview | Web Accessibility Initiative (WAI) | W3C", + "url": "https://www.w3.org/WAI/standards-guidelines/aria/" + }, + { + "name": "Using ARIA", + "url": "https://www.w3.org/TR/using-aria/#firstrule" + }, + { + "name": "Patterns | APG | WAI | W3C", + "url": "https://www.w3.org/WAI/ARIA/apg/patterns/" + }, + { + "name": "Accessible name computation", + "url": "https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation" + }, + { + "name": "ARIA Widgets", + "url": "https://dequeuniversity.com/library/aria/" + }, + { + "name": "Les bases de WAI-ARIA - Apprendre le développement web | MDN", + "url": "https://dequeuniversity.com/library/aria/" + }, + { + "name": "Accessible name required for ARIA", + "url": "https://html5accessibility.com/stuff/2024/02/14/when-it-says-name-from-author-it-means-from-you-not-boll-or-bukowski/" + }, + { + "name": "Best intention barriers (ARIA edition) · marcus.io", + "url": "https://marcus.io/blog/best-intention-barriers-aria" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/colors.json b/src/assets/resources/colors.json new file mode 100644 index 000000000..017b5da95 --- /dev/null +++ b/src/assets/resources/colors.json @@ -0,0 +1,17 @@ +{ + "urls": [ + { + "name": "TPGI - SC 1.4.1 Use of Color", + "url": "https://www.tpgi.com/well-color-us-surprised-this-sc-can-be-a-tricky-customer/" + }, + { + "name": "TPGI - SC 1.4.11 Non-text Contrast", + "url": "https://www.tpgi.com/when-i-get-that-low-contrast-feeling-i-need-non-textual-healing/" + }, + { + "name": "Pope Tech - Color Contrast", + "url": "https://blog.pope.tech/2022/11/08/november-monthly-focus-low-contrast/" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/drag-drop.json b/src/assets/resources/drag-drop.json new file mode 100644 index 000000000..acfa090a3 --- /dev/null +++ b/src/assets/resources/drag-drop.json @@ -0,0 +1,13 @@ +{ + "urls": [ + { + "name": "Designing a reorderable list component - Darin Senneff", + "url": "https://www.darins.page/articles/designing-a-reorderable-list-component#keyboard-controls" + }, + { + "name": "CodePen drag and drop", + "url": "https://codepen.io/melsumner/pen/MeMGVN" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/forms.json b/src/assets/resources/forms.json new file mode 100644 index 000000000..752467c9c --- /dev/null +++ b/src/assets/resources/forms.json @@ -0,0 +1,41 @@ +{ + "urls": [ + { + "name": "A Guide To Accessible Form Validation — Smashing Magazine", + "url": "https://www.smashingmagazine.com/2023/02/guide-accessible-form-validation/" + }, + { + "name": "6 Quick tests you can do to test your forms for accessibility - Karl Groves", + "url": "https://karlgroves.com/6-quick-tests-you-can-do-to-test-your-forms-for-accessibility/" + }, + { + "name": "Doing what’s required: Indicating mandatory fields in an accessible way - TPGi", + "url": "https://www.tpgi.com/doing-whats-required-indicating-mandatory-fields-in-an-accessible-way/" + }, + { + "name": "Fieldsets, Legends and Screen Readers again - TPGi", + "url": "https://www.tpgi.com/fieldsets-legends-and-screen-readers-again/" + }, + { + "name": "Don’t Disable Form Controls — Adrian Roselli", + "url": "https://adrianroselli.com/2024/02/dont-disable-form-controls.html" + }, + { + "name": "Avoid Default Field Validation — Adrian Roselli", + "url": "https://adrianroselli.com/2019/02/avoid-default-field-validation.html" + }, + { + "name": "My Priority of Methods for Labeling a Control — Adrian Roselli", + "url": "https://adrianroselli.com/2020/01/my-priority-of-methods-for-labeling-a-control.html" + }, + { + "name": "The anatomy of accessible forms: Best practices | Deque", + "url": "https://www.deque.com/blog/anatomy-of-accessible-forms-best-practices/" + }, + { + "name": "Various styled accessible form controls", + "url": "https://github.com/scottaohara/a11y_styled_form_controls" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/graphics.json b/src/assets/resources/graphics.json new file mode 100644 index 000000000..f5bfdcfc7 --- /dev/null +++ b/src/assets/resources/graphics.json @@ -0,0 +1,13 @@ +{ + "urls": [ + { + "name": "Making data visualizations accessible - TPGi", + "url": "https://www.tpgi.com/making-data-visualizations-accessible/" + }, + { + "name": "7.7. Prévoir un moyen d'accès à la description détaillée de chaque contenu riche - AcceDe Web", + "url": "https://www.accede-web.com/notices/fonctionnelle-graphique/contenus-riches-et-multimedias/prevoir-un-moyen-dacces-a-la-description-detaillee-de-chaque-contenu-riche/" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/how-to-test.json b/src/assets/resources/how-to-test.json new file mode 100644 index 000000000..f902a267d --- /dev/null +++ b/src/assets/resources/how-to-test.json @@ -0,0 +1,41 @@ +{ + "urls": [ + { + "name": "How to test SC 2.4.11", + "url": "https://www.tpgi.com/how-to-test-2-4-11-focus-not-obscured-minimum/" + }, + { + "name": "How to test SC 2.5.8", + "url": "https://www.tpgi.com/how-to-test-2-5-8-target-size-minimum/" + }, + { + "name": "How to test SC 3.3.8", + "url": "https://www.tpgi.com/how-to-test-3-3-8-accessible-authentication-minimum/" + }, + { + "name": "How to test SC 2.5.7", + "url": "https://www.tpgi.com/how-to-test-2-5-7-dragging-movements/" + }, + { + "name": "How to test SC 3.3.7", + "url": "https://www.tpgi.com/how-to-test-3-3-7-redundant-entry/" + }, + { + "name": "How to test SC 3.2.6", + "url": "https://www.tpgi.com/how-to-test-3-2-6-consistent-help/" + }, + { + "name": "How to test SC 1.3.5", + "url": "https://www.tpgi.com/how-do-you-test-success-criterion-1-3-5-on-mobile-applications/" + }, + { + "name": "How to test SC 1.4.10", + "url": "https://yatil.net/blog/resize-text-reflow" + }, + { + "name": "How to test SC 2.5.8", + "url": "https://adrianroselli.com/2023/12/2-5-8-adversarial-conformance.html" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/keyboard.json b/src/assets/resources/keyboard.json new file mode 100644 index 000000000..57a91166c --- /dev/null +++ b/src/assets/resources/keyboard.json @@ -0,0 +1,21 @@ +{ + "urls": [ + { + "name": "WebAIM: Keyboard Accessibility", + "url": "https://webaim.org/techniques/keyboard/" + }, + { + "name": "Where to Put Focus When Deleting a Thing — Adrian Roselli", + "url": "https://adrianroselli.com/2023/08/where-to-put-focus-when-deleting-a-thing.html" + }, + { + "name": "Keyboard accessibility myths and WCAG - TetraLogical", + "url": "https://tetralogical.com/blog/2023/11/27/keyboard-accessibility-myths-wcag/" + }, + { + "name": "Display Title Attribute on Keyboard Focus", + "url": "https://pauljadam.com/demos/title-keyboard.html" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/links.json b/src/assets/resources/links.json new file mode 100644 index 000000000..965d6bf42 --- /dev/null +++ b/src/assets/resources/links.json @@ -0,0 +1,17 @@ +{ + "urls": [ + { + "name": "How to make external links accessible - Pope Tech Blog", + "url": "https://blog.pope.tech/2024/01/02/how-to-make-external-links-accessible/#when" + }, + { + "name": "Links are not buttons. Neither are DIVs and SPANs - Karl Groves", + "url": "https://karlgroves.com/links-are-not-buttons-neither-are-divs-and-spans/" + }, + { + "name": "Buttons vs. Links · Eric Eggert", + "url": "https://yatil.net/blog/buttons-vs-links" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/mobiles.json b/src/assets/resources/mobiles.json new file mode 100644 index 000000000..dc81ba907 --- /dev/null +++ b/src/assets/resources/mobiles.json @@ -0,0 +1,49 @@ +{ + "urls": [ + { + "name": "Mobile Accessibility Task Force", + "url": "https://www.w3.org/WAI/GL/mobile-a11y-tf/" + }, + { + "name": "Guidance on Applying WCAG 2 to Non-Web Information and Communications Technologies (WCAG2ICT)", + "url": "https://w3c.github.io/wcag2ict/" + }, + { + "name": "WCAG 2.0 Techniques that Apply to Mobile", + "url": "https://www.w3.org/WAI/GL/mobile-a11y-tf/MobileTechniques/#seizure" + }, + { + "name": "Mobile Accessibility: How WCAG 2.0 and Other W3C/WAI Guidelines Apply to Mobile", + "url": "https://www.w3.org/TR/mobile-accessibility-mapping/" + }, + { + "name": "Mobile Accessibility at W3C | Web Accessibility Initiative (WAI) | W3C", + "url": "https://www.w3.org/WAI/standards-guidelines/mobile/" + }, + { + "name": "How WCAG 2.2 Relates to Mobile and What's Missing - Google Sheets", + "url": "https://docs.google.com/spreadsheets/d/1-SM3PY-phoBN4v3PStawv0fYV3RudhuLLLwoGixDOtg/edit?gid=0#gid=0" + }, + { + "name": "User Needs Exercise - Mobile - Google Sheets", + "url": "https://docs.google.com/spreadsheets/d/1bsze5rAu-6tkWBTGyrcm4tdsGvZAaEBBUCDsQZngl2k/edit?gid=39173941#gid=39173941" + }, + { + "name": "Does WCAG 2.2 apply to native apps - TetraLogical", + "url": "https://tetralogical.com/blog/2024/07/18/WCAG2ICT/" + }, + { + "name": "Duché du Luxembourg - référentiels de tests RAAM 1", + "url": "https://accessibilite.public.lu/fr/raam1/index.html" + }, + { + "name": "Appt - Méthodologie d'Evaluation Mobile", + "url": "https://appt.org/en/guidelines/appt-em" + }, + { + "name": "Evinced - Mobile Content Accessibility Guidelines (MCAG)", + "url": "https://getevinced.github.io/mcag/" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/norms-and-legal-obligations.json b/src/assets/resources/norms-and-legal-obligations.json new file mode 100644 index 000000000..a1eeb9b2d --- /dev/null +++ b/src/assets/resources/norms-and-legal-obligations.json @@ -0,0 +1,44 @@ +{ + "urls": [ + { + "name": "Standard international WCAG22", + "url": "https://www.w3.org/TR/WCAG22/" + }, + { + "name": "EN 301 549 v3.2.1 (2021-03) (PDF)", + "url": "https://www.etsi.org/deliver/etsi_en/301500_301599/301549/03.02.01_60/en_301549v030201p.pdf" + }, + { + "name": "Référentiel général d'amélioration de l'accessibilité - RGAA", + "url": "https://accessibilite.numerique.gouv.fr/" + }, + { + "name": "LOI n° 2023-171 du 9 mars 2023 portant diverses dispositions d'adaptation au droit de l'Union européenne dans les domaines de l'économie, de la santé, du travail, des transports et de l'agriculture (1) - Légifrance", + "url": "https://www.legifrance.gouv.fr/jorf/id/JORFSCTA000047281785" + }, + { + "name": "Décret n° 2019-768 du 24 juillet 2019 relatif à l'accessibilité aux personnes handicapées des services de communication au public en ligne - Légifrance", + "url": "https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000038811937" + }, + { + "name": "Accessibilité et RGAA : quelles sont les obligations légales ? - Access42", + "url": "https://access42.net/accessibilite-RGAA-obligations-legales" + }, + { + "name": "Synthèse des nouvelles règlementations d'accessibilité numérique en France | Temesis", + "url": "https://www.temesis.com/blog/synthese-des-nouvelles-reglementations-encadrant-laccessibilite-numerique-en-france/" + }, + { + "name": "Schéma pluriannuel de mise en accessibilité - non-respect d’une obligation légale majeure (1) - Dossiers thématiques - CERTAM", + "url": "https://certam-avh.com/fr/dossiers-thematiques/schema-pluriannuel-de-mise-en-accessibilite-non-respect-d-une-obligation" + }, + { + "name": "Understanding EU’s Digital Accessibility Rules | by Vadim Sharapov | May, 2023 | UX Planet", + "url": "https://uxplanet.org/understanding-eus-digital-accessibility-rules-ac60e2914b84" + }, + { + "name": "Understanding How the European Accessibility Act Will Impact Your Business - TPGi", + "url": "https://www.tpgi.com/understanding-how-the-european-accessibility-act-will-impact-your-business/" + } + ] +} \ No newline at end of file diff --git a/src/assets/resources/referentiels-audit.json b/src/assets/resources/referentiels-audit.json new file mode 100644 index 000000000..75b0de0a7 --- /dev/null +++ b/src/assets/resources/referentiels-audit.json @@ -0,0 +1,33 @@ +{ + "urls": [ + { + "name": "Duché du Luxembourg - référentiels de tests RAWeb", + "url": "https://accessibilite.public.lu/fr/raweb1/index.html" + }, + { + "name": "W3C Easy Checks – A First Review of Web Accessibility | Web Accessibility Initiative (WAI)", + "url": "https://www.w3.org/WAI/test-evaluate/preliminary/" + }, + { + "name": "Web Accessibility Evaluation Tools List", + "url": "https://www.w3.org/WAI/ER/tools/?q=wcag-21-w3c-web-content-accessibility-guidelines-21" + }, + { + "name": "DINUM - Audit rapide - DesignGouv", + "url": "https://design.numerique.gouv.fr/outils/audit-rapide/" + }, + { + "name": "DINUM - Critères et tests - RGAA", + "url": "https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/" + }, + { + "name": "Accessibility Auditing Shortlist - DLF Wiki", + "url": "https://wiki.diglib.org/Accessibility_Auditing_Shortlist" + }, + { + "name": "Andrew Hick - Accessibility checklist", + "url": "https://github.com/andrewhick/accessibility/wiki/Accessibility-checklist" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/standard-html.json b/src/assets/resources/standard-html.json new file mode 100644 index 000000000..e4bed4d31 --- /dev/null +++ b/src/assets/resources/standard-html.json @@ -0,0 +1,21 @@ +{ + "urls": [ + { + "name": "HTML Standard", + "url": "https://html.spec.whatwg.org/multipage/" + }, + { + "name": "HTML5 accessibility", + "url": "http://www.html5accessibility.com/" + }, + { + "name": "WebAIM: HTML Semantics and Accessibility Cheat Sheet", + "url": "https://webaim.org/resources/htmlcheatsheet/" + }, + { + "name": "HTML Accessibility API Mappings 1.0", + "url": "https://www.w3.org/TR/html-aam-1.0/" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/tables.json b/src/assets/resources/tables.json new file mode 100644 index 000000000..6ac3bcf26 --- /dev/null +++ b/src/assets/resources/tables.json @@ -0,0 +1,21 @@ +{ + "urls": [ + { + "name": "Comment intégrer des tableaux HTML accessibles et conformes au RGAA ? – Access42", + "url": "https://access42.net/integrer-tableaux-html-accessibles-conformes-rgaa/" + }, + { + "name": "Tableaux de données complexes : comment les intégrer de manière accessible en HTML ? – Access42", + "url": "https://access42.net/tableaux-donnees-complexes-integration-html-accessible-rgaa/" + }, + { + "name": "Don’t Turn a Table into an ARIA Grid Just for a Clickable Row — Adrian Roselli", + "url": "https://adrianroselli.com/2023/11/dont-turn-a-table-into-an-aria-grid-just-for-a-clickable-row.html" + }, + { + "name": "Accessible responsive tables – tempertemper", + "url": "https://www.tempertemper.net/blog/accessible-responsive-tables" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/target-size.json b/src/assets/resources/target-size.json new file mode 100644 index 000000000..93b156679 --- /dev/null +++ b/src/assets/resources/target-size.json @@ -0,0 +1,13 @@ +{ + "urls": [ + { + "name": "Designing better target sizes", + "url": "https://ishadeed.com/article/target-size/" + }, + { + "name": "Accessible Target Sizes | Craft CMS", + "url": "https://craftcms.com/blog/accessible-target-sizes" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/w3c-wcag.json b/src/assets/resources/w3c-wcag.json new file mode 100644 index 000000000..ed6040762 --- /dev/null +++ b/src/assets/resources/w3c-wcag.json @@ -0,0 +1,29 @@ +{ + "urls": [ + { + "name": "WCAG 2.2", + "url": "https://www.w3.org/TR/WCAG22/" + }, + { + "name": "How to Meet WCAG (Quickref Reference)", + "url": "https://www.w3.org/WAI/WCAG22/quickref/?currentsidebar=%23col_overview#top" + }, + { + "name": "Tutorials | Web Accessibility Initiative (WAI) | W3C", + "url": "https://www.w3.org/WAI/tutorials/" + }, + { + "name": "HTML Accessibility API Mappings 1.0", + "url": "https://www.w3.org/TR/html-aam-1.0/" + }, + { + "name": "Patterns | APG | WAI | W3C", + "url": "https://www.w3.org/WAI/ARIA/apg/patterns/" + }, + { + "name": "Accessible name computation", + "url": "https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation" + } + ] + } + \ No newline at end of file diff --git a/src/assets/resources/web-a11y-general.json b/src/assets/resources/web-a11y-general.json new file mode 100644 index 000000000..1899aba8c --- /dev/null +++ b/src/assets/resources/web-a11y-general.json @@ -0,0 +1,161 @@ +{ + "urls": [ + { + "name": "Web accessibility checklist - MagentaA11y", + "url": "https://www.magentaa11y.com/web-accessibility-checklist" + }, + { + "name": "Accessibility checklist - AtomicA11y", + "url": "https://atomic-a11y.com/accessibility-checklist" + }, + { + "name": "Web UI Storybook / Introduction - Docs", + "url": "https://storybook.js.org/docs/react/get-started/introduction" + }, + { + "name": "Blog – Loriane Buffet – Intégratrice web", + "url": "https://loriane-buffet.com" + }, + { + "name": "Les notices AcceDe Web (version 4) - AcceDe Web", + "url": "https://www.accede-web.com/notices" + }, + { + "name": "A11Y Style Guide", + "url": "https://a11y-style-guide.com" + }, + { + "name": "Guide de l'intégrateur RGAA 3", + "url": "https://www.rgaa.gouv.fr" + }, + { + "name": "Page d'accueil - Access & Use", + "url": "https://accessanduse.com" + }, + { + "name": "Web Accessible Code Libraries and Design Patterns – Web Axe", + "url": "https://webaxe.org" + }, + { + "name": "Inclusive Components Block Links, Cards, Clickable Regions, Rows, Etc. — Adrian Roselli", + "url": "https://adrianroselli.com/inclusive-components" + }, + { + "name": "Welcome to the Accessibility Developer Guide! - ADG", + "url": "https://accessibilitydeveloper.org" + }, + { + "name": "Style with Stateful, Semantic Selectors | Ben Myers", + "url": "https://benmyers.com/style-with-stateful-selectors" + }, + { + "name": "Exemples de composants : modales, toggle, accordion, tabs", + "url": "https://codepen.io/collection/jbWmoO?cursor=eyJjb2xsZWN0aW9uX2lkIjoiamJXbW9PIiwiY29sbGVjdGlvbl90b2tlbiI6bnVsbCwibGltaXQiOjQsIm1heF9pdGVtcyI6NSwib2Zmc2V0IjowLCJwYWdlIjoxLCJzb3J0X2J5IjoicG9zaXRpb24iLCJzb3J0X29yZGVyIjoiQXNjIn0=" + }, + { + "name": "101 Digital Accessibility (a11y) tips and tricks - DEV Community", + "url": "https://dev.to/digital-accessibility-tips" + }, + { + "name": "Web Accessibility: A Reference to Creating Inclusive Websites", + "url": "https://inclusive-web.com" + }, + { + "name": "Lost in Translation: Tips for Multilingual Web Accessibility | Ben Myers", + "url": "https://benmyers.com/multilingual-accessibility" + }, + { + "name": "Textes barrés", + "url": "http://www.webaxe.org/strikethrough-html-accessibility/" + }, + { + "name": "Markup from hell - HTMHell", + "url": "https://htmhell.com" + }, + { + "name": "Components – GOV.UK Design System", + "url": "https://design-system.service.gov.uk/components" + }, + { + "name": "Tous les articles Loriane on CodePen", + "url": "https://codepen.io/loriane" + }, + { + "name": "Copy and Paste Accessible Code | Mike Mai", + "url": "https://mikemai.com/copy-paste-accessible-code" + }, + { + "name": "Fix my code: AI-Powered Code Optimization for Compliance A11y - a Collection by Melanie Sumner on CodePen", + "url": "https://codepen.io/melaniesumner/fix-my-code" + }, + { + "name": "USWDS: The United States Web Design System | U.S. Web Design System (USWDS)", + "url": "https://designsystem.digital.gov" + }, + { + "name": "The personal Web site of Sara Soueidan — inclusive design engineer and trainer – Sara Soueidan", + "url": "https://sarasoueidan.com" + }, + { + "name": "Heydon Pickering | BBC GEL Technical Documentation", + "url": "https://www.bbc.co.uk/guidelines/futuremedia/accessibility" + }, + { + "name": "Parampreet Singh – Medium", + "url": "https://medium.com/@parampreet" + }, + { + "name": "Reprise de focus et accessibilité – Access42", + "url": "https://access42.net/reprise-de-focus" + }, + { + "name": "Restitution de aria-labelledby et aria-describedby avec un texte caché (aria-hidden) – Access42", + "url": "https://access42.net/restitution-aria" + }, + { + "name": "HTML test file index", + "url": "https://thepaciellogroup.github.io/AT-browser-tests/" + }, + { + "name": "HTML5 Kitchen-sink", + "url": "https://codepen.io/dbox/pen/gMbeYw?editors=1100" + }, + { + "name": "Carie Fisher on CodePen", + "url": "https://codepen.io/carie-fisher" + }, + { + "name": "Why are my live regions not working? - TetraLogical", + "url": "https://tetralogical.com/live-regions" + }, + { + "name": "When to use tabindex='0' - TetraLogical", + "url": "https://tetralogical.com/tabindex-zero" + }, + { + "name": "Inclusive Components", + "url": "https://inclusive-components.com" + }, + { + "name": "100 days of A11y", + "url": "https://100daysofa11y.com" + }, + { + "name": "Create an accessible combobox using ARIA - Pope Tech Blog", + "url": "https://blog.pope.tech/accessible-combobox" + }, + { + "name": "scottaohara/accessible_components: Listing of accessible components & patterns", + "url": "https://github.com/scottaohara/accessible_components" + }, + { + "name": "Accessible Cards Components - Block Links (Passes SC 2.5.3)", + "url": "https://codepen.io/rfentress/pen/WNqdgzO" + }, + { + "name": "A Step-By-Step Guide To Building Accessible Carousels — Smashing Magazine", + "url": "https://www.smashingmagazine.com/accessible-carousels" + } + ] + } + \ No newline at end of file diff --git a/src/assets/useful-links.js b/src/assets/useful-links.js new file mode 100644 index 000000000..38ef181b1 --- /dev/null +++ b/src/assets/useful-links.js @@ -0,0 +1,30 @@ +function fetchAndDisplay(url, listId) { + fetch(url) + .then(response => response.json()) + .then(data => { + const urlList = document.getElementById(listId); + data.urls.forEach(url => { + const listItem = document.createElement('li'); + listItem.className = 'list-group-item'; + listItem.innerHTML = `${url.name}`; + urlList.appendChild(listItem); + }); + }) + .catch(error => console.error('Error fetching data:', error)); +} + +fetchAndDisplay('/assets/resources/norms-and-legal-obligations.json', 'urlList-norms') +fetchAndDisplay('/assets/resources/standard-html.json', 'urlList-standard'); +fetchAndDisplay('/assets/resources/w3c-wcag.json', 'urlList-w3c'); +fetchAndDisplay('/assets/resources/aria.json', 'urlList-aria'); +fetchAndDisplay('/assets/resources/referentiels-audit.json', 'urlList-audit'); +fetchAndDisplay('/assets/resources/how-to-test.json', 'urlList-howtotest'); +fetchAndDisplay('/assets/resources/mobiles.json', 'urlList-mobiles'); +fetchAndDisplay('/assets/resources/colors.json', 'urlList-colors'); +fetchAndDisplay('/assets/resources/tables.json', 'urlList-tables'); +fetchAndDisplay('/assets/resources/target-size.json', 'urlList-target-size'); +fetchAndDisplay('/assets/resources/links.json', 'urlList-links'); +fetchAndDisplay('/assets/resources/forms.json', 'urlList-forms'); +fetchAndDisplay('/assets/resources/graphics.json', 'urlList-graphics'); +fetchAndDisplay('/assets/resources/keyboard.json', 'urlList-keyboard'); +fetchAndDisplay('/assets/resources/drag-drop.json', 'urlList-dragdrop'); \ No newline at end of file diff --git a/src/fr/index.md b/src/fr/index.md index 05ce5aa36..9feec2ace 100644 --- a/src/fr/index.md +++ b/src/fr/index.md @@ -33,4 +33,7 @@ Notre expertise couvre les sites Web (e-commerce, e-learning, applications méti
  • Fiches mémos
  • +
  • + Liens utiles +
  • diff --git a/src/fr/liens-utiles.njk b/src/fr/liens-utiles.njk new file mode 100644 index 000000000..38f92a69c --- /dev/null +++ b/src/fr/liens-utiles.njk @@ -0,0 +1,315 @@ +--- +title: "Liens utiles" +abstract: "Liens utiles" +usefulLinks: true +--- + +{% import "../_includes/components/ui.njk" as ui with context %} + + + +

    Ressources Accessibilité Numérique

    +
    +
    +
    +

    Sites généralistes

    + +
    +
    +

    Composants et contenus

    + + +
    +
    +
    \ No newline at end of file From 91bc6d8a6bd60bd67b4ddc7eb1756e7044df9d7f Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul <105045667+pya35@users.noreply.github.com> Date: Thu, 30 Jan 2025 20:53:33 +0100 Subject: [PATCH 2/5] Update liens-utiles.njk --- src/fr/liens-utiles.njk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fr/liens-utiles.njk b/src/fr/liens-utiles.njk index 38f92a69c..c4f2287e2 100644 --- a/src/fr/liens-utiles.njk +++ b/src/fr/liens-utiles.njk @@ -18,7 +18,7 @@ usefulLinks: true

    -

    - \ No newline at end of file + From fa6964174699602d9084a6df07a8fcb18095dd06 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Ayoul <105045667+pya35@users.noreply.github.com> Date: Fri, 31 Jan 2025 08:21:05 +0100 Subject: [PATCH 3/5] update --- src/assets/useful-links.js | 2 +- src/fr/liens-utiles.njk | 64 +++++++++++++++++++------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/assets/useful-links.js b/src/assets/useful-links.js index 38ef181b1..b45b5f068 100644 --- a/src/assets/useful-links.js +++ b/src/assets/useful-links.js @@ -6,7 +6,7 @@ function fetchAndDisplay(url, listId) { data.urls.forEach(url => { const listItem = document.createElement('li'); listItem.className = 'list-group-item'; - listItem.innerHTML = `${url.name}`; + listItem.innerHTML = `${url.name}`; urlList.appendChild(listItem); }); }) diff --git a/src/fr/liens-utiles.njk b/src/fr/liens-utiles.njk index c4f2287e2..e2b2d8a25 100644 --- a/src/fr/liens-utiles.njk +++ b/src/fr/liens-utiles.njk @@ -14,7 +14,7 @@ usefulLinks: true

    Sites généralistes