├── .gitignore ├── favicon.ico ├── images ├── audit10.png ├── audit11.png ├── audit12.png ├── audit13.png ├── audit14.png ├── audit15.png ├── audit16.png ├── audit17.png ├── audit19.png ├── audit20.png ├── audit21.png ├── audit22.png ├── audit23.png ├── audit24.png ├── audit25.png ├── audit26.png ├── audit27.png ├── audit28.png ├── audit29.png ├── audit3.png ├── audit30.png ├── audit31.png ├── audit32.png ├── audit33.png ├── audit34.png ├── audit35.png ├── audit36.png ├── audit37.png ├── audit38.png ├── audit39.png ├── audit40.png ├── audit41.png ├── audit42.png ├── audit43.png ├── audit44.png ├── audit45.png ├── audit46.png ├── audit47.png ├── audit48.png ├── audit49.png ├── audit50.png ├── audit51.png ├── audit6.png ├── audit8.png ├── audit9.png ├── ic_Add.png ├── ic_Pencil.png ├── ic_Trash.png ├── ic_History.png ├── ic_File_Excel.png ├── ic_External_link.png └── ic_Form_Chevron_down.png ├── statement-assets ├── favicon.ico ├── orange-logo.svg ├── style.css └── pie.css ├── .editorconfig ├── .github └── workflows │ ├── preview.yml │ └── main.yml ├── LICENSE ├── js ├── controllers │ ├── userGuide.js │ ├── groupsManager.js │ ├── autoCheckManager.js │ ├── pageManager.js │ ├── filterManager.js │ └── computationManager.js └── FileSaver.min.js ├── README.md ├── style.css ├── json ├── config-checklist.json ├── criteres-checklist-ergo-accessibilite.json ├── wcag-en.json ├── wcag-fr.json └── lang │ ├── en.json │ └── fr.json ├── CHANGELOG.md ├── index.html ├── accessibility-statement.html └── declaration-accessibilite.html /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/favicon.ico -------------------------------------------------------------------------------- /images/audit10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit10.png -------------------------------------------------------------------------------- /images/audit11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit11.png -------------------------------------------------------------------------------- /images/audit12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit12.png -------------------------------------------------------------------------------- /images/audit13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit13.png -------------------------------------------------------------------------------- /images/audit14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit14.png -------------------------------------------------------------------------------- /images/audit15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit15.png -------------------------------------------------------------------------------- /images/audit16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit16.png -------------------------------------------------------------------------------- /images/audit17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit17.png -------------------------------------------------------------------------------- /images/audit19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit19.png -------------------------------------------------------------------------------- /images/audit20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit20.png -------------------------------------------------------------------------------- /images/audit21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit21.png -------------------------------------------------------------------------------- /images/audit22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit22.png -------------------------------------------------------------------------------- /images/audit23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit23.png -------------------------------------------------------------------------------- /images/audit24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit24.png -------------------------------------------------------------------------------- /images/audit25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit25.png -------------------------------------------------------------------------------- /images/audit26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit26.png -------------------------------------------------------------------------------- /images/audit27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit27.png -------------------------------------------------------------------------------- /images/audit28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit28.png -------------------------------------------------------------------------------- /images/audit29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit29.png -------------------------------------------------------------------------------- /images/audit3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit3.png -------------------------------------------------------------------------------- /images/audit30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit30.png -------------------------------------------------------------------------------- /images/audit31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit31.png -------------------------------------------------------------------------------- /images/audit32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit32.png -------------------------------------------------------------------------------- /images/audit33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit33.png -------------------------------------------------------------------------------- /images/audit34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit34.png -------------------------------------------------------------------------------- /images/audit35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit35.png -------------------------------------------------------------------------------- /images/audit36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit36.png -------------------------------------------------------------------------------- /images/audit37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit37.png -------------------------------------------------------------------------------- /images/audit38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit38.png -------------------------------------------------------------------------------- /images/audit39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit39.png -------------------------------------------------------------------------------- /images/audit40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit40.png -------------------------------------------------------------------------------- /images/audit41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit41.png -------------------------------------------------------------------------------- /images/audit42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit42.png -------------------------------------------------------------------------------- /images/audit43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit43.png -------------------------------------------------------------------------------- /images/audit44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit44.png -------------------------------------------------------------------------------- /images/audit45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit45.png -------------------------------------------------------------------------------- /images/audit46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit46.png -------------------------------------------------------------------------------- /images/audit47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit47.png -------------------------------------------------------------------------------- /images/audit48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit48.png -------------------------------------------------------------------------------- /images/audit49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit49.png -------------------------------------------------------------------------------- /images/audit50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit50.png -------------------------------------------------------------------------------- /images/audit51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit51.png -------------------------------------------------------------------------------- /images/audit6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit6.png -------------------------------------------------------------------------------- /images/audit8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit8.png -------------------------------------------------------------------------------- /images/audit9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/audit9.png -------------------------------------------------------------------------------- /images/ic_Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_Add.png -------------------------------------------------------------------------------- /images/ic_Pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_Pencil.png -------------------------------------------------------------------------------- /images/ic_Trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_Trash.png -------------------------------------------------------------------------------- /images/ic_History.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_History.png -------------------------------------------------------------------------------- /images/ic_File_Excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_File_Excel.png -------------------------------------------------------------------------------- /images/ic_External_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_External_link.png -------------------------------------------------------------------------------- /statement-assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/statement-assets/favicon.ico -------------------------------------------------------------------------------- /images/ic_Form_Chevron_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Orange-OpenSource/La-Va11ydette/HEAD/images/ic_Form_Chevron_down.png -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | end_of_line = crlf 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | indent_style = space 12 | indent_size = 4 13 | -------------------------------------------------------------------------------- /.github/workflows/preview.yml: -------------------------------------------------------------------------------- 1 | name: Deploy PR previews 2 | concurrency: preview-${{ github.ref }} 3 | on: 4 | pull_request: 5 | types: 6 | - opened 7 | - reopened 8 | - synchronize 9 | - closed 10 | jobs: 11 | deploy-preview: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - uses: rossjrw/pr-preview-action@v1 16 | with: 17 | source-dir: . 18 | preview-branch: gh-pages 19 | umbrella-dir: pr-preview 20 | action: auto 21 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Publish website 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build_and_deploy: 10 | name: Build & deploy website 11 | runs-on: ubuntu-latest 12 | if: github.repository == 'Orange-OpenSource/La-Va11ydette' 13 | 14 | steps: 15 | - name: Checkout repository 16 | uses: actions/checkout@v2 17 | 18 | - name: Deploy to GitHub Pages 19 | uses: peaceiris/actions-gh-pages@v3.6.4 20 | with: 21 | github_token: ${{ secrets.GITHUB_TOKEN }} 22 | publish_dir: . 23 | publish_branch: gh-pages 24 | keep_files: true 25 | cname: la-va11ydette.orange.com 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2021 Orange 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /js/controllers/userGuide.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function () { 2 | initSummaryMenu(); 3 | }, false); 4 | 5 | /** 6 | * init the anchor menu 7 | */ 8 | function initSummaryMenu() { 9 | let menuHTML='
Orange undertakes to make its websites internet, intranet, extranet and its 30 | mobile applications accessible in accordance with article 47 of Law No. 2005-102 of February 11, 31 | 2005.
32 |To this end, it implements the following strategy and actions:
33 |the Digital Accessibility 35 | Multi-year Plan 2024 - 2026 (PDF, 165Ko).
36 |This accessibility statement applies to The Va11ydette.
37 | 38 | 39 |"The Va11ydette" is partially compliant to the criteria with WCAG version 2.2, level AA.
51 | 52 | 53 |The Orange Group Accessibility Expertise Center refers to the WCAG international recommendations. Here is the 55 | correspondence link between the RGAA and the WCAG (french).
56 |The audit was carried out via the Va11ydette. 57 |
58 | 59 |Global compliance 68 |
69 |Average compliance
77 |The compliance audit carried out by The Orange Group Accessibility Expertise Centre reveals that : 80 |
81 || Level | 91 |A | 92 |AA | 93 |Total | 94 |
|---|---|---|---|
| Number of criteria | 100 |32 | 101 |24 | 102 |56 | 103 |
| Compliant | 107 |13 | 108 |10 | 109 |23 | 110 |
| Non-compliant | 114 |4 | 115 |5 | 116 |9 | 117 |
| Not applicable | 121 |15 | 122 |9 | 123 |24 | 124 |
| Compliance | 128 |129 | 76% 130 | | 131 |132 | 67% 133 | | 134 |135 | 72% 136 | | 137 |
| Criteria / Level | 148 |Compliant / A | 149 |Compliant / AA | 150 |Non-compliant / A | 151 |Non-compliant / AA | 152 |Not applicable / A | 153 |Not applicable / AA | 154 |Compliance rate | 155 |
|---|---|---|---|---|---|---|---|
| Page: Home | 160 |14 | 161 |13 | 162 |2 | 163 |0 | 164 |16 | 165 |11 | 166 |93 % | 167 |
| Page: Guide utilisateur | 170 |13 | 171 |14 | 172 |4 | 173 |1 | 174 |15 | 175 |9 | 176 |84 % | 177 |
| Page: Audit de conformité WCAG 2.2 / 180 | WEB | 181 |14 | 182 |11 | 183 |1 | 184 |2 | 185 |17 | 186 |11 | 187 |89 % | 188 |
| Page: Conformité | 191 |14 | 192 |12 | 193 |2 | 194 |1 | 195 |16 | 196 |11 | 197 |90 % | 198 |
| Page: Déclaration | 201 |15 | 202 |12 | 203 |1 | 204 |2 | 205 |16 | 206 |10 | 207 |90 % | 208 |
The contents listed below are not accessible for the following reasons.
222 | 223 |List of non-compliant WCAG criteria :
225 |This declaration was established on July 22, 2024.
262 |The verifications were performed with the following software combinations:
278 |The verification audit was performed on the following pages using the Orange va11ydette:
296 | 297 |If you are unable to access content or a service, you can contact the site manager to be directed to 313 | an accessible alternative or obtain the content in another form.
314 | 315 |We welcome your feedback on the accessibility of this site. Please let us know if you encounter 316 | accessibility problems by sending an email to accessibility.support@orange.com. 318 |
319 | 320 | 321 |You have reported to the website manager an accessibility problem that prevents you from accessing 329 | content or one of the portal's services and you have not received a satisfactory response, in this 330 | case:
331 |Orange s'engage à rendre ses sites internet, intranet, extranet et ses applications mobiles accessibles 30 | conformément à l'article 47 de la loi n° 2005-102 du 11 février 2005.
31 |À cette fin, il met en œuvre la stratégie et les actions suivantes :
32 |Ouvrir le schéma 34 | pluriannuel d'amélioration de l'accessibilité numérique (PDF, 230Ko).
35 |Cette déclaration d'accessibilité s'applique à La Va11ydette.
36 | 37 | 38 |"La Va11ydette" est partiellement conforme aux critères WCAG version 2.2, niveau AA.
50 | 51 |Le Centre d'Expertise en Accessibilité Numérique du Groupe Orange s'appuie sur les recommandations du 52 | référentiel international WCAG. Voici le lien de 54 | correspondance entre les RGAA et les WCAG.
55 |L'analyse a été effectuée via la Va11ydette.
56 | 57 |Conformité globale 66 |
67 |Conformité moyenne
75 |L'audit de conformité réalisé par Le Centre d'Expertise en Accessibilité Numérique du Groupe Orange 78 | révèle que :
79 || Niveau | 89 |A | 90 |AA | 91 |Total | 92 |
|---|---|---|---|
| Nombre de critères | 98 |32 | 99 |24 | 100 |56 | 101 |
| Conformes | 105 |13 | 106 |10 | 107 |23 | 108 |
| Non-conformes | 112 |4 | 113 |5 | 114 |9 | 115 |
| Non-applicables | 119 |15 | 120 |9 | 121 |24 | 122 |
| Conformité | 126 |127 | 76% 128 | | 129 |130 | 67% 131 | | 132 |133 | 72% 134 | | 135 |
| Critères / Niveau | 146 |Conformes / A | 147 |Conformes / AA | 148 |Non-conformes / A | 149 |Non-conformes / AA | 150 |Non-applicables / A | 151 |Non-applicables / AA | 152 |Taux de conformité | 153 |
|---|---|---|---|---|---|---|---|
| Page : Home | 158 |14 | 159 |13 | 160 |2 | 161 |0 | 162 |16 | 163 |11 | 164 |93 % | 165 |
| Page : Guide utilisateur | 168 |13 | 169 |14 | 170 |4 | 171 |1 | 172 |15 | 173 |9 | 174 |84 % | 175 |
| Page : Audit de conformité WCAG 2.2 / WEB | 178 |14 | 179 |11 | 180 |1 | 181 |2 | 182 |17 | 183 |11 | 184 |89 % | 185 |
| Page : Conformité | 188 |14 | 189 |12 | 190 |2 | 191 |1 | 192 |16 | 193 |11 | 194 |90 % | 195 |
| Page : Déclaration | 198 |15 | 199 |12 | 200 |1 | 201 |2 | 202 |16 | 203 |10 | 204 |90 % | 205 |
Toutes les non conformités sont identifiées et prises en compte par les équipes concernées, voici la liste des critères WCAG non conformes :
219 | 220 |Liste des critères WCAG non conformes :
222 |Cette déclaration a été établie le 22/07/2024.
259 |Les vérifications ont été réalisées avec les combinaisons logicielles suivantes :
275 |L'audit de vérification a été effectué sur les pages suivantes à l'aide de la va11ydette d'Orange :
293 | 294 |Si vous n'arrivez pas à acceder à un contenu ou à un service, vous pouvez contacter le responsable du site 310 | pour être orienté vers une alternative accessible ou obtenir le contenu sous une autre forme.
311 | 312 |Envoyez un courriel à accessibility.support@orange.com. 313 |
314 | 315 | 316 |Vous avez signalé au responsable du site internet un défaut d'accessibilité qui vous empêche d'accéder à un 324 | contenu ou à un des services du portail et vous n'avez pas obtenu de réponse satisfaisante, dans ce cas : 325 |
326 || Tests | '; 255 | wcagDisplayContent += '' + langVallydette.resultHeading + ' | '; 256 | wcagDisplayContent += '
|---|---|
| '+ wcagDisplayObj[currentPage].items[i].test[j].title +' | '; 261 | wcagDisplayContent += '' + setStatutText(wcagDisplayObj[currentPage].items[i].test[j].result) + ' | '; 262 | wcagDisplayContent += '
| ' + langVallydette.result + ' | '; 266 | wcagDisplayContent += '' + setStatutText(wcagDisplayObj[currentPage].items[i].resultat) + ' | '; 267 | wcagDisplayContent += '
' + nbTests + ' ' + langVallydette.filterFeedback2 + '
'; 301 | elFeedback.innerHTML = htmlFeedback; 302 | } else { 303 | htmlFeedback = '' + nbTests + ' ' + langVallydette.filterFeedback1 + '
'; 304 | elFeedback.innerHTML = htmlFeedback; 305 | } 306 | }; 307 | 308 | /** 309 | * Run when a filter switch button is activated. Update the array of enabled filters. 310 | * @param {object} elInput - switch button. 311 | */ 312 | updateArrayFilter = function (elInput) { 313 | 314 | if (elInput && elInput.checked) { 315 | 316 | arrayFilterActivated.push(elInput.value); 317 | 318 | } else { 319 | 320 | arrayFilterActivated = arrayFilterActivated.filter(function(filterValue) { 321 | return filterValue !== elInput.value; 322 | }); 323 | 324 | } 325 | 326 | loadChecklistObject(); 327 | 328 | } 329 | 330 | /** 331 | * Run when a filter radio button is activated. Update the array of enabled filters. 332 | * @param {object} elInput - radio button. 333 | */ 334 | updateRadioFilterArray = function (elInput, arrayToUpdate) { 335 | 336 | window[arrayToUpdate].splice(0, window[arrayToUpdate].length); 337 | 338 | if (elInput && elInput.checked) { 339 | 340 | window[arrayToUpdate].push(elInput.value); 341 | 342 | } 343 | 344 | loadChecklistObject(); 345 | 346 | } 347 | 348 | /** 349 | * Get the unique entry from an object property, in order to build a filter array 350 | * @param {object} objectToParse 351 | * @param {string} property - property from vallydette object. 352 | */ 353 | function uniqueEntry(objectToParse, property) { 354 | uniqueEntryArray = []; 355 | objectToParse.forEach(function(item){ 356 | item[property].forEach(function(entry){ 357 | uniqueEntryArray.push(entry); 358 | }); 359 | }) 360 | 361 | return [...new Set(uniqueEntryArray)]; 362 | } 363 | 364 | 365 | /** 366 | * Apply the filters to the vallydette object, and run display function (runTestListMarkup) with the new filtered object 367 | */ 368 | runFilter = function() { 369 | 370 | function filtrerParID(prop, arrayFilters) { 371 | 372 | return function(obj) { 373 | var isOK; 374 | obj[prop].forEach(function(current) { 375 | 376 | if(window[arrayFilters].includes(current)) { 377 | isOK = true; 378 | } 379 | 380 | }) 381 | 382 | return isOK; 383 | 384 | } 385 | } 386 | 387 | filteredTest = dataVallydette.checklist.page[currentPage].items; 388 | 389 | if(dataVallydette.checklist.goodPractice == false){ 390 | filteredTest = filteredTest.filter(o => o.goodPractice==false); 391 | } 392 | 393 | if(arrayFilterActivated && arrayFilterActivated.length > 0){ 394 | filteredTest = filteredTest.filter(o => arrayFilterActivated.includes(o.resultatTest)); 395 | 396 | } 397 | 398 | if(arrayProfileActivated && arrayProfileActivated.length > 0){ 399 | filteredTest = filteredTest.filter(filtrerParID("profils", "arrayProfileActivated")); 400 | 401 | } 402 | 403 | if(arrayTypeActivated && arrayTypeActivated.length > 0){ 404 | filteredTest = filteredTest.filter(filtrerParID("type", "arrayTypeActivated")); 405 | 406 | } 407 | 408 | runTestListMarkup(filteredTest); 409 | updateCounter(true, filteredTest.length); 410 | } 411 | 412 | 413 | /** 414 | * Some pages (actually the audit result page) no need of the filter menu. 415 | */ 416 | removeFilterSection = function () { 417 | htmlFilterContent.innerHTML = ""; 418 | } 419 | 420 | /** 421 | * Run when the checklist display must be updated (when a filter is applied for example) 422 | */ 423 | loadChecklistObject = function () { 424 | initFilters(); 425 | if((arrayFilterActivated && arrayFilterActivated.length > 0) || (arrayProfileActivated && arrayProfileActivated.length > 0) || (arrayTypeActivated && arrayTypeActivated.length > 0)){ 426 | runFilter(); 427 | } else { 428 | runTestListMarkup(dataVallydette.checklist.page[currentPage].items); 429 | updateCounter(false, dataVallydette.checklist.page[currentPage].items.length); 430 | } 431 | } -------------------------------------------------------------------------------- /json/lang/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "va11ydette": "The va11ydette", 3 | "auditNameWcag": "Orange Audit check list", 4 | "auditNameAuditor": "Orange auditor check list", 5 | "homepage": "Homepage", 6 | "va11ydetteOrange": "The Orange's va11ydette", 7 | "homepageDescription": "Orange provides several accessibility assessment grids through its validation tool La va11ydette.", 8 | "run": "Run", 9 | "pageName": "Page name", 10 | "processHeading": "Procedures", 11 | "toCheckHeading": "To be checked", 12 | "resultHeading": "Results", 13 | "justificationHeading": "Explanation", 14 | "exceptionHeading": "Exception", 15 | "toolsText": "Tools : ", 16 | "groupHeading": "This page has: ", 17 | "status5": "N/A", 18 | "expanded": "Close theme", 19 | "informations": "Additional information", 20 | "closeInformations": "Close informations message", 21 | "success": "success", 22 | "successFeedback": "Data has been saved.", 23 | "warningNoResult": "No results match your selection", 24 | "versionAlert1": "This audit is not based on the latest version of the guidelines", 25 | "versionAlert2": "Your compliance rate will be calculated using version 1.3", 26 | "closeAlert": "Close the information message", 27 | "auditResult": "Audit results", 28 | "auditTxt1": "Global compliance", 29 | "auditTxt2": "Warning audit in progress", 30 | "auditTxt3": "Results per page", 31 | "auditTxt4": "Compliance rate by pages according to the two levels of criteria A and AA", 32 | "auditTxt5": "List of noncompliances", 33 | "auditTxt6": "in progress", 34 | "auditTxt7": "not tested", 35 | "auditTxt8": "Compliance rate", 36 | "auditTxt9": "Criterion", 37 | "auditTxt10": "Level", 38 | "auditTxt11": "No noncompliances", 39 | "auditTxt12": "result:", 40 | "auditTxt13": "Average compliance", 41 | "auditTxt14": "Results", 42 | "auditTxt15": "Summary by levels", 43 | "auditTxt16": "Compliance", 44 | "auditTxt17": "Criteria", 45 | "auditTxt18": "Compliance rate by pages", 46 | "level": "level", 47 | "showAudit": "View the results of the audit", 48 | "scrollUp": "Back to top of page", 49 | "addPage": "Add a page", 50 | "editPageName": "Edit the page name", 51 | "deletePageName": "Delete the page", 52 | "openPageUrl": "Open the url of the current page (new window)", 53 | "delete": "Delete", 54 | "close": "Close", 55 | "cancel": "Cancel", 56 | "validate": "Validate", 57 | "edit": "Edit", 58 | "save": "Save", 59 | "saveDownloadJson": "Save and download in JSON format", 60 | "downloadJson": "Download in JSON format", 61 | "import": "Load", 62 | "importError": "The JSON file is not compatible with import", 63 | "importErrorEmpty": "You must fill in a JSON file before importing", 64 | "download": "Download", 65 | "selectAchecklist": "Select a checklist", 66 | "reset": "Reset", 67 | "name": "Name", 68 | "url": "URL", 69 | "commentTxt1": "Comment for", 70 | "addComment": "Add a comment: ", 71 | "editComment": "Edit the comment", 72 | "issueTxt1": "Enter an issue for : ", 73 | "issueTxt2": "Issues for: ", 74 | "issueTxt3": "Please confirm the removal of the anomaly: ", 75 | "issues": "Issues", 76 | "editIssue": "Edit an issue", 77 | "addIssue": "Add an issue", 78 | "issueManagement": "Issues management", 79 | "filterFeedback1": "tests in progress", 80 | "filterFeedback2": "tests meet the selected filter criteria", 81 | "errorJson": "Error loading JSON file", 82 | "errorNameRequired":"The field Name is required", 83 | "groupsTxt1": "Captcha", 84 | "groupsTxt2": "Form", 85 | "groupsTxt3": "Multimedia", 86 | "groupsTxt4": "Touch screen", 87 | "dataBrowse": "Browse", 88 | "recoverAction": "Recover", 89 | "deleteAction": "Delete", 90 | "recoverTitle": "Recover / Delete an audit", 91 | "recoverMessage": "Saved audits", 92 | "deleteAsk": "Are you sure you want to remove the audit", 93 | "wcagView": "WCAG view", 94 | "result": "result", 95 | "goodPractice": "good practice", 96 | "goodPracticeSwitch": "activate good practice", 97 | "summary": "summary", 98 | "summaryError": "The field summary is required", 99 | "description": "description", 100 | "descriptionError": "The field description is required", 101 | "solution": "solution", 102 | "technical_solution": "technical solution", 103 | "priorityIssue" : "priority", 104 | "reviewIssue": "review", 105 | "stateIssue": "issue state / project team commentary", 106 | "selectIssue": "select a pre-defined issue", 107 | "yes": "yes", 108 | "no": "no", 109 | "is": "is", 110 | "anchorLink": "Anchor link", 111 | "lang": "Language", 112 | "langError": "The field Language is required", 113 | "french": "French", 114 | "english": "English", 115 | "select": "Select", 116 | "projectName": "Name of organization", 117 | "projectNameError": "The Organization Name field is required", 118 | "projectSiteName": "Project name or URL", 119 | "projectSiteNameError": "The field Project name or URL is required", 120 | "date": "Date", 121 | "dateError": "The field Date is required, it must be in the format", 122 | "dateUpdate": "Update date", 123 | "technology": "Technologies", 124 | "technologyEdit": "Edit the technologies list", 125 | "tests": "Tests", 126 | "testsEdit": "Edit the tests list", 127 | "environments": "Environments", 128 | "environment": "Test environment", 129 | "environmentsEdit": "Edit the tests environments list", 130 | "users": "Users", 131 | "userTesting": "User testing", 132 | "userTestingContent": "xx users with disablilities", 133 | "userTestingContentWeb": " (ZoomText, Jaws, xxx).", 134 | "userTestingContentAndroid": " (Talkback, Switch Access, xxx).", 135 | "userTestingContentIOS": " (Voice Over, xxx).", 136 | "userTest": "User tests", 137 | "userNumber": "Number of users", 138 | "userTestDescription": "Test description", 139 | "edition": "Edit", 140 | "blockingNumber": "Number of blocking points", 141 | "criteriaNumber": "Number of criteria", 142 | "addElement": "Add an element", 143 | "statement": "Statement", 144 | "statementExport": "Export statement", 145 | "statementTitle": "Generate the statement", 146 | "statementTxt1": "Statement configuration", 147 | "statementTxt2": "XML export is only available for completed audits", 148 | "statementTxt3": "Leave the \"name\" field empty, to delete the item from the list after saving.", 149 | "statementTxt4": "Import the data from a statement saved in JSON format, or enter the information directly in the \"Manual data entry\" part.", 150 | "selectData": "Select data", 151 | "formPrefill": "Prefill the form", 152 | "formPrefillDesc": "Import the data from a declaration saved in JSON format, or fill in the information directly in the \"Complete the data\" part.", 153 | "manualDataEntry": "Complete the data", 154 | "manualDataEntryDesc": "Complete or modify the data of the declaration.", 155 | "fieldRequired": "All required fields are marked with *", 156 | "approval": "Approval", 157 | "approvalEdit": "Edit the approvals list", 158 | "display": "Display", 159 | "expandedAll": "Expand all tests", 160 | "expandedAllFalse": "Collapse all tests", 161 | "contact": "Contact", 162 | "contactEdit": "Edit the contacts list", 163 | "accessibilityPlan": "Accessibility plan", 164 | "accessibilityPlanText": "[Name of the organization] undertakes to make its websites internet, intranet, extranet and its mobile applications accessible in accordance with article 47 of Law No. 2005-102 of February 11, 2005.\n\nTo this end, it implements the following strategy and actions [links to the multi-annual plan and to the action plan for the current year including a review of actions carried out in the previous year].\n\nThis accessibility statement applies to [Project name or URL].", 165 | "accessibilityPlanTextReplace":"[Name of the organization]", 166 | "accessibilityPlanTextReplace2":"[Project name or URL]", 167 | "markdownDesc": "This field supports markdown", 168 | "noncompliantInput": "Statement non compliant", 169 | "noncompliantDesc": "Check this checkbox only if you want to generate a non-compliant statement of an uncompleted audit.", 170 | "compliantStateComment": "Comment on conformity level", 171 | "nonFinishedAudit": "The results of the initial tests are based on a partial analysis. This analysis was interrupted due to the significant number of non-conformities observed.", 172 | "derogations": "Derogations", 173 | "exemptions": "Exemptions", 174 | "nonCompliantComment": "Comment for non-conformities", 175 | "selectType": "Select a type", 176 | "modifyList": "Modify the list", 177 | "customerService": "Customer service", 178 | "internalService": "Internal service", 179 | "textService" :"Contact [Name of the entity responsible for the online service] [url of a page with the entity’s contact details]", 180 | "orangeGroup": "Orange group", 181 | "environmentEx1": "Chrome XX and JAWS 2024", 182 | "environmentEx2": "Firefox XX and NVDA 2023.3", 183 | "environmentEx3": "Android 10 and Talkback", 184 | "environmentEx4": "IOS and Voice Over", 185 | "keyboardNavigation": "Keyboard navigation", 186 | "xmlBtn": "Export the statement in XML format", 187 | "htmlBtn": "Export the statement in HTML format", 188 | "item": "Name", 189 | "type": "Type", 190 | "auto": "auto", 191 | "content": "content", 192 | "functional": "functional", 193 | "manual": "manual", 194 | "user": "user", 195 | "version": "Version", 196 | "autoTest": "Automatic testing", 197 | "functionalTest": "Functional testing", 198 | "manualTest": "Manual testing", 199 | "userTest": "User testing ", 200 | "keyboard": "Keyboard", 201 | "auditWarning": "These results are not exhaustive. The cases noted are given by way of example, in order to illustrate the issues. It is the project team's responsibility to apply these fixes systematically to all similar cases.", 202 | "keyboard": "Keyboard", 203 | "compliant": "Compliant", 204 | "nonCompliant": "Non-compliant", 205 | "notApplicable": "Not applicable", 206 | "notTested": "not tested", 207 | "noCommentary": "no commentary", 208 | "autocheckTxt1": "This test is linked to the previous page", 209 | "autocheckTxt2": "Automatically apply this result to next page.", 210 | "autocheckTxtError": "Warning, you have just modified a criterion linked to the previous page, this link and that of the following pages no longer exists.", 211 | "autocheckModalTitle": "Automatically apply this result", 212 | "autocheckModalTxt": "Do you want to apply the result of this criterion to all subsequent pages?", 213 | "autocheckModalTxt2": "If you answer no, the result will be applied only on the next page.", 214 | "moreInfo": "More informations", 215 | "newWindow": "new window", 216 | "guidelines": "guidelines", 217 | "template": { 218 | "va11ydette": "The va11ydette", 219 | "auditNameWcag": "Orange Audit check list", 220 | "btnShowResult": "Compliance", 221 | "btnImportTxt": "Import", 222 | "btnExportTxt": "Export", 223 | "import": "Load audit", 224 | "status1": "compliant", 225 | "status2": "non-compliant", 226 | "status3": "not applicable", 227 | "status4": "not tested", 228 | "filters": "Filters", 229 | "navAnchor": "On this page", 230 | "footerStatementText": "Accessibility: partially compliant", 231 | "footerTxt1": "Documentation under MIT License.", 232 | "footerTxt2": "The Orange logo as well as certain images and screenshots are the property of Orange: Copyright © 2016 Orange SA All rights reserved.", 233 | "footerLinkGit": "Report an error on GitHub (new window)", 234 | "link-about-txt": "About", 235 | "link-guide-txt": "User Guide" 236 | }, 237 | "title": { 238 | "btnImport": "Import an audit (json)", 239 | "btnImportClose": "Close the import part", 240 | "export": "Export an audit (json)", 241 | "btnShowResult": "Show the compliances results", 242 | "btnChecklistName": "Edit the audit name", 243 | "btnPageName": "Edit the page name", 244 | "btnDelPage": "Delete the page", 245 | "btnLocalStorage": "Recover / Delete an audit", 246 | "btnExcelExport": "Export issues (excel)", 247 | "footerLinkGit" : "Report an error on GitHub (new window)", 248 | "link-about": "About (new window)", 249 | "link-guide": "User guide (new window)", 250 | "link-guide-href":"./user-guide-en?lang=en", 251 | "link-to-top":"Back to top" 252 | }, 253 | "ariaLabelOnly": { 254 | "nav-lang": "About and languages menu", 255 | "nav-back-to-top": "Back to top", 256 | "selectFiles" : "Select an audit (JSON)" 257 | }, 258 | "url": { 259 | "link-about": "https://a11y-guidelines.orange.com/en/web/wcag-audit/" 260 | }, 261 | "wcag": { 262 | "1.1.1": "Non-text Content", 263 | "1.2.1": "Audio-only and Video-only (Prerecorded)", 264 | "1.2.2": "Captions (Prerecorded)", 265 | "1.2.3": "Audio Description or Media Alternative (Prerecorded)", 266 | "1.2.4": "Captions (Live)", 267 | "1.2.5": "Audio Description (Prerecorded)", 268 | "1.3.1": "Info and Relationships", 269 | "1.3.2": "Meaningful Sequence", 270 | "1.3.3": "Sensory Characteristics", 271 | "1.3.4": "Orientation", 272 | "1.3.5": "Identify Input Purpose", 273 | "1.4.1": "Use of Color", 274 | "1.4.2": "Audio Control", 275 | "1.4.3": "Contrast (Minimum)", 276 | "1.4.4": "Resize text", 277 | "1.4.5": "Images of Text", 278 | "1.4.10": "Reflow", 279 | "1.4.11": "Non-text Contrast", 280 | "1.4.12": "Text Spacing", 281 | "1.4.13": "Content on Hover or Focus", 282 | "2.1.1": "Keyboard", 283 | "2.1.2": "No Keyboard Trap", 284 | "2.1.4": "Character Key Shortcuts", 285 | "2.2.1": "Timing Adjustable", 286 | "2.2.2": "Pause, Stop, Hide", 287 | "2.3.1": "Three Flashes or Below Threshold", 288 | "2.4.1": "Bypass Blocks", 289 | "2.4.2": "Page Titled", 290 | "2.4.3": "Focus Order", 291 | "2.4.4": "Link Purpose (In Context)", 292 | "2.4.5": "Multiple Ways", 293 | "2.4.6": "Headings and Labels", 294 | "2.4.7": "Focus Visible", 295 | "2.4.8": "Location", 296 | "2.4.9": "Link Purpose (Link Only)", 297 | "2.4.11": "Focus Appearance", 298 | "2.5.1": "Pointer Gestures", 299 | "2.5.2": "Pointer Cancellation", 300 | "2.5.3": "Label in Name", 301 | "2.5.4": "Motion Actuation", 302 | "2.5.5": "Minimal target size", 303 | "2.5.7": "Dragging Movements", 304 | "2.5.8": "Target size", 305 | "3.1.1": "Language of Page", 306 | "3.1.2": "Language of Parts", 307 | "3.2.1": "On Focus", 308 | "3.2.2": "On Input", 309 | "3.2.3": "Consistent Navigation", 310 | "3.2.4": "Consistent Identification", 311 | "3.2.6": "Consistent Help", 312 | "3.3.1": "Error Identification", 313 | "3.3.2": "Labels or Instructions", 314 | "3.3.3": "Error Suggestion", 315 | "3.3.4": "Error Prevention (Legal, Financial, Data)", 316 | "3.3.7": "Redundant Entry", 317 | "3.3.8": "Accessible Authentification", 318 | "4.1.1": "Parsing", 319 | "4.1.2": "Name, Role, Value", 320 | "4.1.3": "Status Messages" 321 | }, 322 | "statementTemplate": { 323 | "title": "Accessibility statement", 324 | "auditDate": "This declaration was established on", 325 | "environmentStatement": "Establishment of this accessibility statement", 326 | "wcagNonCompliant": "List of non-compliant WCAG criteria :", 327 | "state": "Conformity level:", 328 | "compliantContent1": "This site is ", 329 | "compliantContent2": " to the criteria with WCAG version 2.2, level AA", 330 | "totalyCompliant": "fully compliant", 331 | "partialyCompliant": "partially compliant", 332 | "noCompliant": "no compliant", 333 | "method":"The analyze was carried out via la Va11ydette.", 334 | "linkRGAAWCAG":"refers to the WCAG international recommendations version 2.2, level AA. Here is the correspondence link between the RGAA and the WCAG (french).", 335 | "blockingPoint1": " blocking point(s) from a user point of view", 336 | "approvalHeading": "Formal approval of this accessibility statement", 337 | "standardHeading": "Standard applied", 338 | "wcagVersion": "WCAG version 2.2, level AA", 339 | "technologyHeading": "Technical specifications of the site", 340 | "environmentHeading": "Testing environment", 341 | "environmentContent": "The verifications were performed with the following software combinations:", 342 | "methodsHeading": "Methods and Tools to evaluate accessibility", 343 | "contextHeading": "Context", 344 | "pagesHeading": "Pages which have been the subject of compliance verification", 345 | "pagesContent": "The verification audit was performed on the following pages using the Orange va11ydette: ", 346 | "resultsHeading": "Tests result", 347 | "resultsContent1": "The compliance audit carried out by", 348 | "resultsContent1bis": "reveals that :", 349 | "resultsContentnonCompliant": "Less than 50", 350 | "resultsContent2": "% of WCAG level A and AA criteria are met.", 351 | "resultsContent2bis": "The average compliance rate of the online service is", 352 | "resultsContent3": ", with ", 353 | "resultsContent4": " blocking point(s) from a user point of view", 354 | "resultsContent5": " The table presents by audited page the number of criteria compliant, non-compliant, not applicable according to level A or AA. The last column mentions the compliance rate of the page which is equal to the number of compliant criteria divided by the number of applicable criteria.", 355 | "resultsContent6": "Compliance rate (pages average):", 356 | "resultsContent7": "%.", 357 | "resultsContent8": "% (percentage of criteria met", 358 | "noncompliancesHeading1": "Content not accessible", 359 | "noncompliancesHeading2": "Non-compliances", 360 | "noncompliancestext": "All non-conformities have been identified and addressed by the appropriate teams. Below is the list of WCAG criteria that are not compliant:", 361 | "noNonCompliance": "no non-compliance detected", 362 | "derogationsHeading": "Derogations for unreasonable workload", 363 | "exemptionsHeading": "Content not subject to accessibility obligation", 364 | "contactsHeading": "Feedback and contact information", 365 | "contactsText": "If you are unable to access content or a service, you can contact the site manager to be directed to an accessible alternative or obtain the content in another form.", 366 | "legalHeading": "Legal remedies", 367 | "legalContent": "You have reported to the website manager an accessibility problem that prevents you from accessing content or one of the portal's services and you have not received a satisfactory response, in this case:", 368 | "legalList1": "Write a message to the Defender of Rights.", 369 | "legalList2": "Or contact the Defender of Rights delegate in your department.", 370 | "legalList3": "Or send a letter by post (free of charge, do not put a stamp)