Skip to content
This repository was archived by the owner on Apr 5, 2024. It is now read-only.

Commit 0eeb6a6

Browse files
author
Julien Bouquillon
committed
feat: add page accessibilite
1 parent 1808efd commit 0eeb6a6

File tree

8 files changed

+165
-6
lines changed

8 files changed

+165
-6
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import React from "react";
2+
import { ComponentStory, ComponentMeta } from "@storybook/react";
3+
4+
import Declaration from "./";
5+
6+
export default {
7+
title: "Déclaration d'accessibilité",
8+
component: Declaration,
9+
} as ComponentMeta<typeof Declaration>;
10+
11+
const Template: ComponentStory<typeof Declaration> = (args) => (
12+
<Declaration {...args} />
13+
);
14+
15+
export const Default = Template.bind({});
16+
Default.args = {};
17+
18+
export const SomeDeclaration = Template.bind({});
19+
SomeDeclaration.args = {
20+
produit: "NOUVEAU PRODUIT",
21+
organisme: "SERVICE DE XXXXXXX",
22+
23+
conformite: "partiellement conforme",
24+
audited: true,
25+
};
+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
const Declaration = ({
2+
produit = "[PRODUIT]",
3+
organisme = "Fabrique numérique des ministères sociaux",
4+
date = "9 décembre 2021",
5+
conformite = "non conforme",
6+
audited = false,
7+
email = "[email protected]",
8+
}) => {
9+
return (
10+
<div>
11+
<h1>Déclaration d’accessibilité</h1>
12+
<p>
13+
<span>{produit}</span> s’engage à rendre son service accessible,
14+
conformément à{" "}
15+
<a href="https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000037388867/">
16+
l’article 47 de la loi n° 2005-102 du 11 février 2005.
17+
</a>
18+
</p>
19+
<p>
20+
Cette déclaration d’accessibilité s’applique à <span>{organisme}</span>.
21+
</p>
22+
<h2>État de conformité</h2>
23+
<p>
24+
<span>{produit}</span> est{" "}
25+
<b>
26+
<span data-printfilter="lowercase">{conformite}</span> avec le{" "}
27+
<span data-negate="">RGAA 4.1</span>
28+
</b>
29+
.{!audited && <span>Le site n’a encore pas été audité.</span>}
30+
</p>
31+
<h2>Contenus non accessibles</h2>
32+
<h2>Établissement de cette déclaration d’accessibilité</h2>
33+
<p>
34+
Cette déclaration a été établie le{" "}
35+
<b>
36+
<span>{date}</span>
37+
</b>
38+
.
39+
</p>
40+
<h2>Amélioration et contact</h2>
41+
<p>
42+
Si vous n’arrivez pas à accéder à un contenu ou à un service, vous
43+
pouvez contacter le responsable de <span>{organisme}</span> pour être
44+
orienté vers une alternative accessible ou obtenir le contenu sous une
45+
autre forme.
46+
</p>
47+
<ul className="basic-information feedback h-card">
48+
<li>
49+
E-mail : <a href={`mailto:${email}`}>{email}</a>
50+
</li>
51+
</ul>
52+
<h2>Voie de recours</h2>
53+
<p>
54+
Cette procédure est à utiliser dans le cas suivant : vous avez signalé
55+
au responsable du site internet un défaut d’accessibilité qui vous
56+
empêche d’accéder à un contenu ou à un des services du portail et vous
57+
n’avez pas obtenu de réponse satisfaisante.
58+
</p>
59+
<p>Vous pouvez :</p>
60+
<ul>
61+
<li>
62+
Écrire un message au{" "}
63+
<a href="https://formulaire.defenseurdesdroits.fr/">
64+
Défenseur des droits
65+
</a>
66+
</li>
67+
<li>
68+
Contacter{" "}
69+
<a href="https://www.defenseurdesdroits.fr/saisir/delegues">
70+
le délégué du Défenseur des droits dans votre région
71+
</a>
72+
</li>
73+
<li>
74+
Envoyer un courrier par la poste (gratuit, ne pas mettre de timbre) :
75+
<br />
76+
Défenseur des droits
77+
<br />
78+
Libre réponse 71120 75342 Paris CEDEX 07
79+
</li>
80+
</ul>
81+
</div>
82+
);
83+
};
84+
85+
export default Declaration;

src/components/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
export { default as DeclarationAccessibilite } from "./accessibilite";
12
export { default as Header } from "./header";
23
export { default as Footer } from "./footer";
34
export { default as Layout } from "./layout";

src/config/layout.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ export const footerBottomSection: FooterBottomSectionProps = {
172172
links: [
173173
{
174174
title: "Accessibilité : non conforme",
175-
href: "/mention-legales#accessibilite",
175+
href: "/accessibilite",
176176
},
177177
{
178178
title: "Mentions légales",

src/pages/accessibilite.tsx

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { DeclarationAccessibilite } from "@components";
2+
import { Alert } from "@dataesr/react-dsfr";
3+
import type { NextPage } from "next";
4+
import { NextSeo } from "next-seo";
5+
import React from "react";
6+
7+
const Accessibilite: NextPage = () => {
8+
return (
9+
<>
10+
<NextSeo
11+
title="Template | Déclaration d'accessibilité"
12+
description="Déclaration d'accessibilité de l'application template."
13+
additionalLinkTags={[
14+
{
15+
rel: "icon",
16+
href: "/favicon.ico",
17+
},
18+
]}
19+
/>
20+
<div className="fr-container fr-my-6w">
21+
<Alert
22+
description={
23+
<div>
24+
Utilisez le{" "}
25+
<a href="https://betagouv.github.io/a11y-generateur-declaration/#create">
26+
générateur de déclaration
27+
</a>
28+
.
29+
</div>
30+
}
31+
title={<div>Cette page doit être mise à jour</div>}
32+
type="info"
33+
/>
34+
<br />
35+
<DeclarationAccessibilite />
36+
</div>
37+
</>
38+
);
39+
};
40+
41+
export default Accessibilite;

src/pages/cgu.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { MentionPart } from "@components";
2+
import { Alert } from "@dataesr/react-dsfr";
23
import type { NextPage } from "next";
34
import { NextSeo } from "next-seo";
45
import React from "react";
@@ -31,6 +32,8 @@ const Cgu: NextPage = () => {
3132
]}
3233
/>
3334
<div className="fr-container fr-my-6w">
35+
<Alert title="Cette page doit être mise à jour. " type="info" />
36+
<br />
3437
<h1>Conditions générales d&apos;utilisation</h1>
3538
<div>
3639
<MentionPart

src/pages/mention-legales.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { MentionPart } from "@components";
2-
import { Title } from "@dataesr/react-dsfr";
2+
import { Alert, Title } from "@dataesr/react-dsfr";
33
import type { NextPage } from "next";
44
import { NextSeo } from "next-seo";
55
import React from "react";
@@ -18,6 +18,8 @@ const LegalMention: NextPage = () => {
1818
]}
1919
/>
2020
<div className="fr-container fr-my-6w">
21+
<Alert title="Cette page doit être mise à jour. " type="info" />
22+
<br />
2123
<h1>Mentions légales</h1>
2224
<div>
2325
<MentionPart

src/pages/politique-confidentialite.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Table } from "@dataesr/react-dsfr";
1+
import { Alert, Table } from "@dataesr/react-dsfr";
22
import type { NextPage } from "next";
33
import { NextSeo } from "next-seo";
44
import React from "react";
@@ -24,6 +24,8 @@ const Confidentiality: NextPage = () => {
2424
]}
2525
/>
2626
<div className="fr-container fr-my-6w">
27+
<Alert title="Cette page doit être mise à jour. " type="info" />
28+
<br />
2729
<h1>Politique de confidentialité</h1>
2830
<div>
2931
<h2>Traitement des données à caractère personnel</h2>
@@ -76,7 +78,7 @@ const Confidentiality: NextPage = () => {
7678
</p>
7779
<h2>Hébergement</h2>
7880
<Table
79-
rowKey={row => row.name}
81+
rowKey={(row) => row.name}
8082
data={[
8183
{
8284
name: "Microsoft Azure",
@@ -100,7 +102,7 @@ const Confidentiality: NextPage = () => {
100102
title={urlName}
101103
target="_blank"
102104
rel="nofollow, noopener, noreferrer"
103-
href={URL.find(v => v.name === urlName)?.value}
105+
href={URL.find((v) => v.name === urlName)?.value}
104106
>
105107
{urlName}
106108
</a>
@@ -120,7 +122,7 @@ const Confidentiality: NextPage = () => {
120122
appelés “cookies” permettant d’établir des mesures statistiques.
121123
</p>
122124
<Table
123-
rowKey={row => row.name}
125+
rowKey={(row) => row.name}
124126
data={[
125127
{
126128
type: "Mesure d’audience anonymisée",

0 commit comments

Comments
 (0)