From 5f07d4a88beb80583bd8af37182d699ff49d63c1 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Mon, 10 Mar 2025 22:12:14 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BF=EF=B8=8F(frontend)=20introduce=20dedi?= =?UTF-8?q?cated=20accessibility=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created a proper accessibility page within the application to replace external doc page redirects. Implemented based on Sophie's accessibility requirements to improve user experience for all users regardless of ability. --- .../features/legalsTerms/Accessibility.tsx | 80 +++++++++++++++++++ src/frontend/src/layout/Footer.tsx | 11 +-- src/frontend/src/layout/Header.tsx | 16 ++-- .../src/locales/de/accessibility.json | 40 ++++++++++ .../src/locales/en/accessibility.json | 40 ++++++++++ .../src/locales/fr/accessibility.json | 40 ++++++++++ .../src/locales/nl/accessibility.json | 40 ++++++++++ src/frontend/src/routes.ts | 8 +- 8 files changed, 261 insertions(+), 14 deletions(-) create mode 100644 src/frontend/src/features/legalsTerms/Accessibility.tsx create mode 100644 src/frontend/src/locales/de/accessibility.json create mode 100644 src/frontend/src/locales/en/accessibility.json create mode 100644 src/frontend/src/locales/fr/accessibility.json create mode 100644 src/frontend/src/locales/nl/accessibility.json diff --git a/src/frontend/src/features/legalsTerms/Accessibility.tsx b/src/frontend/src/features/legalsTerms/Accessibility.tsx new file mode 100644 index 00000000..9ec89337 --- /dev/null +++ b/src/frontend/src/features/legalsTerms/Accessibility.tsx @@ -0,0 +1,80 @@ +import { Screen } from '@/layout/Screen' +import { Bold, H, P, A, Italic, Ul } from '@/primitives' +import { css } from '@/styled-system/css' +import { HStack } from '@/styled-system/jsx' +import { useTranslation } from 'react-i18next' + +export const AccessibilityRoute = () => { + const { t } = useTranslation('accessibility', { keyPrefix: 'accessibility' }) + + const indentedStyle = css({ + paddingLeft: '1.5rem', + marginLeft: '1rem', + borderLeft: '1px solid black', + marginTop: '1.5rem', + }) + + return ( + + +

+ + + {t('declaration.title')} + + {t('declaration.date')} +

{t('scope')}

+ + + {t('complianceStatus.title')} + +

{t('complianceStatus.body')}

+ + {t('improvement.title')} + +

{t('improvement.body')}

+
    +
  • + {t('improvement.contact.email').replace( + 'visio@numerique.gouv.fr', + '' + )} + + visio@numerique.gouv.fr + +
  • +
  • {t('improvement.contact.address')}
  • +
+

{t('improvement.response')}

+ + + {t('recourse.title')} + +

{t('recourse.introduction')}

+ +

{t('recourse.options.intro')}

+ +
    +
  • {t('recourse.options.option1')}
  • +
  • {t('recourse.options.option2')}
  • +
  • + {t('recourse.options.option3')} +

    + {t('dataProtection.line1')} +
    + {t('dataProtection.line2')} +
    + {t('dataProtection.line3')} +
    + {t('dataProtection.line4')} +

    +
  • +
+
+
+ ) +} diff --git a/src/frontend/src/layout/Footer.tsx b/src/frontend/src/layout/Footer.tsx index 5c2db023..8f35d77a 100644 --- a/src/frontend/src/layout/Footer.tsx +++ b/src/frontend/src/layout/Footer.tsx @@ -242,17 +242,14 @@ export const Footer = () => { - {t('links.accessibility')} - + { const { t } = useTranslation() const isHome = useMatchesRoute('home') const isLegalTerms = useMatchesRoute('legalTerms') + const isAccessibility = useMatchesRoute('accessibility') const isRoom = useMatchesRoute('room') const { user, isLoggedIn, logout } = useUser() @@ -203,12 +204,15 @@ export const Header = () => {