From 92f4dd223f254b8afc05686955c5d990d5ee7790 Mon Sep 17 00:00:00 2001
From: Fabrice Gangler <fabrice.gangler@adullact.org>
Date: Mon, 26 Dec 2022 16:02:56 +0100
Subject: [PATCH] FEAT: update a11y page

---
 src/Locale/Home.pot                         | 13 +++-
 src/Locale/en/Home.po                       | 13 +++-
 src/Locale/fr/Breadcrumbs.po                |  2 +-
 src/Locale/fr/Home.po                       | 13 +++-
 src/Template/Api/V1/Pages/accessibility.ctp | 76 +++++++++++++++++++--
 src/Template/Element/Pages/footer.ctp       | 12 ++--
 tests/Acceptance/BasicTestsCest.php         |  6 +-
 tests/Acceptance/CheckBreadcrumbCest.php    |  2 +-
 8 files changed, 113 insertions(+), 24 deletions(-)

diff --git a/src/Locale/Home.pot b/src/Locale/Home.pot
index c27b4088..1445657d 100644
--- a/src/Locale/Home.pot
+++ b/src/Locale/Home.pot
@@ -14,10 +14,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: Template/Api/V1/Pages/accessibility.ctp:4;8
 #: Template/Element/Pages/footer.ctp:21;23
-msgid "Accessibility"
-msgstr ""
+msgid "footer-accessibility-link"
+msgstr "Accessibility"
+
+#: Template/Api/V1/Pages/accessibility.ctp:12
+msgid "page-accessibility-title"
+msgstr "Accessibility"
+
+#: Template/Api/V1/Pages/accessibility.ctp:12
+msgid "page-accessibility-h1"
+msgstr "Accessibility"
 
 #: Template/Api/V1/Pages/accessibility.ctp:12
 msgid "Accessibility conformance is in progress (<abbr title=\"Web Content Accessibility Guidelines\">WCAG</abbr> / <span lang=\"fr\"><abbr title=\"Référentiel Général d'Accessibilité des Administrations\">RGAA</abbr></span>)"
diff --git a/src/Locale/en/Home.po b/src/Locale/en/Home.po
index 65445695..98776be6 100644
--- a/src/Locale/en/Home.po
+++ b/src/Locale/en/Home.po
@@ -15,10 +15,17 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 1.8.7.1\n"
 
-#: Template/Api/V1/Pages/accessibility.ctp:4;8
 #: Template/Element/Pages/footer.ctp:21;23
-msgid "Accessibility"
-msgstr ""
+msgid "footer-accessibility-link"
+msgstr "Accessibility"
+
+#: Template/Api/V1/Pages/accessibility.ctp:12
+msgid "page-accessibility-title"
+msgstr "Accessibility"
+
+#: Template/Api/V1/Pages/accessibility.ctp:12
+msgid "page-accessibility-h1"
+msgstr "Accessibility"
 
 #: Template/Api/V1/Pages/accessibility.ctp:12
 msgid ""
diff --git a/src/Locale/fr/Breadcrumbs.po b/src/Locale/fr/Breadcrumbs.po
index aa7c069f..bd0ad917 100644
--- a/src/Locale/fr/Breadcrumbs.po
+++ b/src/Locale/fr/Breadcrumbs.po
@@ -33,7 +33,7 @@ msgstr "Mentions légales"
 
 #: Controller/Api/V1/PagesController.php:318
 msgid "Page.Accessibility"
-msgstr "Accessibilité"
+msgstr "Déclaration d'accessibilité"
 
 #: Controller/Api/V1/ReviewsController.php:100;157
 #: Controller/Api/V1/SoftwaresController.php:704
diff --git a/src/Locale/fr/Home.po b/src/Locale/fr/Home.po
index 91b3eb50..d7add479 100644
--- a/src/Locale/fr/Home.po
+++ b/src/Locale/fr/Home.po
@@ -15,10 +15,17 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n>1;\n"
 "X-Generator: Poedit 1.8.7.1\n"
 
-#: Template/Api/V1/Pages/accessibility.ctp:4;8
 #: Template/Element/Pages/footer.ctp:21;23
-msgid "Accessibility"
-msgstr "Accessibilité"
+msgid "footer-accessibility-link"
+msgstr "Accessibilité : non conforme"
+
+#: Template/Api/V1/Pages/accessibility.ctp:12
+msgid "page-accessibility-title"
+msgstr "Déclaration d'accessibilité"
+
+#: Template/Api/V1/Pages/accessibility.ctp:12
+msgid "page-accessibility-h1"
+msgstr "Déclaration d'accessibilité"
 
 #: Template/Api/V1/Pages/accessibility.ctp:12
 msgid ""
diff --git a/src/Template/Api/V1/Pages/accessibility.ctp b/src/Template/Api/V1/Pages/accessibility.ctp
index c17f55ca..800ccdf8 100644
--- a/src/Template/Api/V1/Pages/accessibility.ctp
+++ b/src/Template/Api/V1/Pages/accessibility.ctp
@@ -1,15 +1,83 @@
 <?php
-
 $this->layout = 'base';
-$this->assign('title', __d("Home", "Accessibility"));
+$this->assign('title', __d("Home", "page-accessibility-title"));
+?>
+<h1><?= __d("Home", "page-accessibility-h1") ?></h1>
 
+<?php
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    if ($selectedLanguage === 'fr') { // French
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ?>
+    <p>Cette déclaration d’accessibilité s’applique au site web <strong>Comptoir du Libre</strong>
+        (<code>https://comptoir-du-libre.org</code>).</p>
+
+    <h2>État de conformité</h2>
+    <p> Le site web <strong>Comptoir du Libre</strong> est
+        <strong>non conforme</strong>
+        avec le <abbr title="Référentiel général d’amélioration de l’accessibilité">RGAA</abbr>.
+    </p>
+    <p> Le site web n’a encore pas été audité.</p>
+
+    <h2>Établissement de cette déclaration d’accessibilité</h2>
+    <p>Cette déclaration a été établie le <span>26 décembre 2022</span>.</p>
+
+    <h2>Résultat des tests</h2>
+    <p>En l’absence d’audit de conformité il n’y a pas de résultats de tests.</p>
+
+    <h2>Contenus non accessibles</h2>
+
+    <h3>Non conformité</h3>
+    <p> En l’absence d’audit tous les contenus seront considérés comme non accessibles par hypothèse.</p>
+
+    <h3>Dérogations pour charge disproportionnée</h3>
+    <p> En l’absence d’audit aucune dérogation n’a été établie.</p>
 
-<h1><?= __d("Home", "Accessibility") ?></h1>
+    <h3>Contenus non soumis à l’obligation d’accessibilité</h3>
+    <p> En l’absence d’audit aucun contenu n’a été identifié comme n’entrant
+        pas dans le champ de la législation applicable.</p>
 
+    <h3>Agents utilisateurs, technologies d’assistance et outils utilisés pour vérifier l’accessibilité</h3>
+    <p> En l’absence d’audit aucun agent utilisateur et aucune technologie d’assistance n’ont été utilisés.</p>
+
+    <h3>Pages du site ayant fait l’objet de la vérification de conformité</h3>
+    <p> En l’absence d’audit aucune page n’a fait l’objet de la vérification de conformité.
+
+    <h2>Amélioration et contact</h2>
+    <p>Si vous n’arrivez pas à accéder à un contenu ou à un service, vous pouvez
+        <a href="/fr/pages/contact">contacter le responsable du <em>Comptoir du Libre</em></a>
+        pour être orienté vers une alternative accessible ou obtenir le contenu sous une autre forme.</p>
+
+    <h2>Voie de recours</h2>
+    <p>Cette procédure est à utiliser dans le cas suivant&nbsp;: vous avez signalé
+        au responsable du site internet un défaut d’accessibilité qui vous empêche d’accéder
+        à un contenu ou à un des services du portail et vous n’avez pas obtenu de réponse satisfaisante.</p>
+    <p>Vous pouvez&nbsp;:</p>
+    <ul>
+        <li>Écrire un message au <a rel="nofollow noopener noreferrer"
+                                    href="https://formulaire.defenseurdesdroits.fr/">Défenseur des droits</a></li>
+        <li>Contacter le <a  rel="nofollow noopener noreferrer"
+                          href="https://www.defenseurdesdroits.fr/saisir/delegues">délégué du Défenseur
+                des droits dans votre région</a></li>
+        <li>Envoyer un courrier par la poste (gratuit, ne pas mettre de timbre)&nbsp;:<br>
+            Défenseur des droits <br>
+            Libre réponse 71120 <br>
+            75342 Paris CEDEX 07</li>
+    </ul>
+
+<?php
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    }
+    else { // English
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+?>
 <p>
    <?=
     __d("Home",
         "Accessibility conformance is in progress (<abbr title=\"Web Content Accessibility Guidelines\">WCAG</abbr> / <span lang=\"fr\"><abbr title=\"Référentiel Général d'Accessibilité des Administrations\">RGAA</abbr></span>)")
     ?>
-</p>
\ No newline at end of file
+</p>
+<?php
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    }
+?>
diff --git a/src/Template/Element/Pages/footer.ctp b/src/Template/Element/Pages/footer.ctp
index 204c9529..ad6b3148 100644
--- a/src/Template/Element/Pages/footer.ctp
+++ b/src/Template/Element/Pages/footer.ctp
@@ -36,17 +36,17 @@
 ?>
 <footer class="row">
     <div>
+        <?= $this->Html->link(__d("ElementNavigation", "Contact"),
+            "/$selectedLanguage/pages/contact",
+            $optionContactLink) ?> -
+
         <?= $this->Html->link(__d("Home", "Legal"),
             "/$selectedLanguage/pages/legal",
             $optionLegalLink) ?> -
 
-        <?= $this->Html->link(__d("Home", "Accessibility"),
+        <?= $this->Html->link(__d("Home", "footer-accessibility-link"),
             "/$selectedLanguage/pages/accessibility",
-            $optionA11yLink) ?> -
-
-        <?= $this->Html->link(__d("ElementNavigation", "Contact"),
-            "/$selectedLanguage/pages/contact",
-            $optionContactLink) ?>
+            $optionA11yLink) ?>
 
         <?php if (isset($availableLanguages)): ?>
             -
diff --git a/tests/Acceptance/BasicTestsCest.php b/tests/Acceptance/BasicTestsCest.php
index b2f21287..bb0bc29c 100644
--- a/tests/Acceptance/BasicTestsCest.php
+++ b/tests/Acceptance/BasicTestsCest.php
@@ -43,10 +43,10 @@ class BasicTestsCest
     {
         $I->amOnPage('/');
         $I->seeInTitle('Comptoir du libre');
-        $I->see('Accessibilité');
-        $I->click('Accessibilité');
+        $I->see('Accessibilité : non conforme');
+        $I->click('Accessibilité : non conforme');
         $I->seeInCurrentUrl('/pages/accessibility');
-        $I->seeInTitle('Accessibilité');
+        $I->seeInTitle("Déclaration d'accessibilité");
     }
 
     public function clickOnContactLinkFromHomepage($I)
diff --git a/tests/Acceptance/CheckBreadcrumbCest.php b/tests/Acceptance/CheckBreadcrumbCest.php
index 1b15c608..d76c7d40 100644
--- a/tests/Acceptance/CheckBreadcrumbCest.php
+++ b/tests/Acceptance/CheckBreadcrumbCest.php
@@ -607,7 +607,7 @@ class CheckBreadcrumbCest
     {
         $Breadcrumbs = [
             '/fr/' => 'Accueil',
-            '/fr/pages/accessibility'   => 'Accessibilité',
+            '/fr/pages/accessibility'   => "Déclaration d'accessibilité",
         ];
         $I->amOnPage(\array_key_last($Breadcrumbs));
         $this->sharedChecks($I, $Breadcrumbs);
-- 
GitLab