diff --git a/mon-entreprise/source/App.tsx b/mon-entreprise/source/App.tsx index 533868092..a4313480c 100644 --- a/mon-entreprise/source/App.tsx +++ b/mon-entreprise/source/App.tsx @@ -1,4 +1,6 @@ import * as Sentry from '@sentry/browser' +import Footer from 'Components/layout/Footer/Footer' +import Header from 'Components/layout/Header' import Route404 from 'Components/Route404' import 'Components/ui/index.css' import { @@ -8,6 +10,7 @@ import { } from 'Components/utils/EngineContext' import { SitePathsContext } from 'Components/utils/SitePathsContext' import 'iframe-resizer' +import { DottedName } from 'modele-social' import Engine, { Rule } from 'publicodes' import { useContext, useMemo } from 'react' import { Helmet } from 'react-helmet' @@ -15,22 +18,12 @@ import { useTranslation } from 'react-i18next' import { useSelector } from 'react-redux' import { Route, Switch } from 'react-router-dom' import createSentryMiddleware from 'redux-sentry-middleware' -import { DottedName } from 'modele-social' import { configSituationSelector, situationSelector, } from 'Selectors/simulationSelectors' -import Provider, { ProviderProps } from './Provider' -import { - setupInFranceAppPersistence, - retrievePersistedInFranceApp, -} from './storage/persistInFranceApp' -import { setupSimulationPersistence } from './storage/persistSimulation' -import Tracker, { devTracker } from './Tracker' import './App.css' -import Footer from 'Components/layout/Footer/Footer' -import Header from 'Components/layout/Header' -import trackSimulatorActions from './trackSimulatorActions' +import Accessibilité from './pages/Accessibilité' import Budget from './pages/Budget/Budget' import Créer from './pages/Créer' import IntegrationTest from './pages/Dev/IntegrationTest' @@ -44,8 +37,16 @@ import Landing from './pages/Landing/Landing' import Nouveautés from './pages/Nouveautés/Nouveautés' import Simulateurs from './pages/Simulateurs' import Stats from './pages/Stats/LazyStats' +import Provider, { ProviderProps } from './Provider' import redirects from './redirects' import { constructLocalizedSitePath } from './sitePaths' +import { + retrievePersistedInFranceApp, + setupInFranceAppPersistence, +} from './storage/persistInFranceApp' +import { setupSimulationPersistence } from './storage/persistSimulation' +import Tracker, { devTracker } from './Tracker' +import trackSimulatorActions from './trackSimulatorActions' if (process.env.NODE_ENV === 'production') { let branch: string | undefined = process.env.GITHUB_REF?.split('/')?.slice( @@ -157,6 +158,7 @@ const App = () => { + {' • '} + {language === 'fr' && ( <> {' • '} @@ -88,7 +89,12 @@ export default function Footer() { Intégrer nos simulateurs - + {' • '} + + + Accessibilité : non conforme + + {!!hrefLink.length && ' • '} {hrefLink.map(({ hrefLang, href }) => ( -
-

- À quoi servent mes cotisations ? -

+ -
+ ) } @@ -227,16 +225,18 @@ function Distribution() { const maximum = distribution.map(([, value]) => value).reduce(max, 0) return ( -
- {distribution.map(([sectionName, value]) => ( - - ))} -
+ <> +
+ {distribution.map(([sectionName, value]) => ( + + ))} +
+ ) } diff --git a/mon-entreprise/source/components/simulationExplanation/SalaryExplanation.tsx b/mon-entreprise/source/components/simulationExplanation/SalaryExplanation.tsx index 8f3d35569..753188fa6 100644 --- a/mon-entreprise/source/components/simulationExplanation/SalaryExplanation.tsx +++ b/mon-entreprise/source/components/simulationExplanation/SalaryExplanation.tsx @@ -3,6 +3,7 @@ import PaySlip from 'Components/PaySlip' import StackedBarChart from 'Components/StackedBarChart' import * as Animate from 'Components/ui/animate' import { ThemeColorsContext } from 'Components/utils/colors' +import Emoji from 'Components/utils/Emoji' import { useInversionFail } from 'Components/utils/EngineContext' import { useContext, useRef } from 'react' import emoji from 'react-easy-emoji' @@ -114,11 +115,23 @@ function PaySlipSection() { ) } -const DistributionSection = () => ( +export const DistributionSection = ({ + children = Distribution, +}: { + children?: React.ReactNode +}) => (

À quoi servent mes cotisations ?

- + {children} +

+ + Pour en savoir plus, rendez-vous sur le site{' '} + + aquoiserventlescotisations.urssaf.fr + + +

) diff --git a/mon-entreprise/source/locales/ui-en.yaml b/mon-entreprise/source/locales/ui-en.yaml index 29974198c..cdb332a45 100644 --- a/mon-entreprise/source/locales/ui-en.yaml +++ b/mon-entreprise/source/locales/ui-en.yaml @@ -1,9 +1,14 @@ "404": action: Return to safe place message: This page does not exist or no longer exists +"<0> Pour en savoir plus, rendez-vous sur le site <3>aquoiserventlescotisations": + urssaf: + fr: <0> To find out more, go to <3>aquoiserventlescotisations.urssaf.fr "<0>Covid-19 et chômage partiel : <3>Calculez votre indemnité": "<0>Covid-19 and Short-Time Work: <3>Calculate Your Benefit" <0>Oui: <0>Yes A quoi servent mes cotisations ?: What's included in my contributions? +footer: + accessibilité: "Accessibility: not compliant" Accueil: Home Afficher la description publicode: Display publicode description Aide à la déclaration de revenu: Income tax return assistance @@ -837,6 +842,46 @@ page: of devices considered<2><0>Easily and freely integrates on any website. <3>Learn more about it. pages: + accessibilité: <0>Accessibility<1>This page is not a help page, but a + statement of compliance with <2>RGAA 4.0, which aims to define the + general level of accessibility found on the site in accordance with the + regulations. This page is mandatory in order to comply with the RGAA + 4.0.<2>What is digital accessibility?<3>An accessible website is one + that allows all web users to access its contents without difficulty, + including people with disabilities who use specialised software or + hardware.<4>An accessible website allows for example to + :<5><0>Navigate with voice synthesizers or Braille tracks (used in + particular by blind or partially sighted internet users).<1>Customize + the display of the site according to their needs (magnification of + characters, modification of colours, etc.).<2>Navigate without using the + mouse, with the keyboard only or via a touch screen.<6>Accessibility + statement<7>Acoss undertakes to make its websites accessible in + accordance with article 47 of the law n° 2005-102 of February 11, + 2005.<8>To this end, it is drafting the <2>strategy and action plan to + be implemented.<9>This accessibility declaration applies to + <2>https://mon-entreprise.fr.<10>State of + compliance<11><0>https://mon-entreprise.fr is currently not in + compliance with the <3>general accessibility improvement standard + (RGAA). The compliance audit will be planned soon. Corrections will be + taken into account following the audit.<12>Right to + compensation<13>Pending full compliance, you can obtain an accessible + version of the documents or information contained therein by sending an + email to <2>accessibilite@acoss.fr indicating the name of the document + concerned and/or the information you would like to obtain. The requested + information will be sent to you as soon as possible.<14>Improvement and + contact<15>You can help us to improve the accessibility of the site by + reporting any problems you encounter. To do so, send us an email at + <2>accessibilite@acoss.fr.<16>Advocate for Rights<17>This + procedure is to be used in the following case.<18>You have notified the + website manager of an accessibility defect that prevents you from accessing + any of the content or services of the portal and you have not received a + satisfactory response.<19><0>Write a message to the Defender of + Rights<1>(https://formulaire.defenseurdesdroits.fr/)<1>Contact the + representative of the Defender of Rights in your + region<1>(https://www.defenseurdesdroits.fr/saisir/delegues)<2>Send + a letter by post (free of charge, do not put a stamp) to:<1>Defender of + rights<3>Free answer 71120<5>75342 Paris CEDEX + 07<20>Updated on 15/01/2021 common: ressources-auto-entrepreneur: FAQ: <0><0>Frequently Asked Questions<1>An exhaustive and up-to-date list of diff --git a/mon-entreprise/source/pages/Accessibilité.tsx b/mon-entreprise/source/pages/Accessibilité.tsx new file mode 100644 index 000000000..d2571d07f --- /dev/null +++ b/mon-entreprise/source/pages/Accessibilité.tsx @@ -0,0 +1,141 @@ +import { Trans } from 'react-i18next' + +export default function Accessibilité() { + return ( + +

Accessibilité

+ +

+ Cette page n'est pas une page d'aide, mais une déclaration de conformité + au{' '} + + RGAA + {' '} + 4.0 qui vise à définir le niveau d'accessibilité général constaté + sur le site conformément à la réglementation. Cette page est obligatoire + pour être conforme au RGAA 4.0. +

+

Qu’est-ce que l’accessibilité numérique ?

+

+ Un site web accessible est un site qui permet à tous les internautes + d’accéder à ses contenus sans difficulté, y compris aux personnes qui + présentent un handicap et utilisent des logiciels ou matériels + spécialisés. +

+

Un site accessible permet par exemple de :

+
    +
  • + Naviguer avec des synthèses vocales ou des plages braille (notamment + utilisées par les internautes aveugles ou malvoyants). +
  • +
  • + Personnaliser l’affichage du site selon ses besoins (grossissement des + caractères, modification des couleurs, etc.). +
  • +
  • + Naviguer sans utiliser la souris, avec le clavier uniquement ou via un + écran tactile. +
  • +
+

Déclaration d’accessibilité

+

+ L'Acoss s’engage à rendre ses sites internet accessibles conformément à + l’article 47 de la loi n° 2005-102 du 11 février 2005. +

+

+ À cette fin, elle rédige{' '} + + la stratégie et le plan d’action à mettre en œuvre + + . +

+

+ Cette déclaration d’accessibilité s’applique à{' '} + https://mon-entreprise.fr. +

+

État de conformité

+

+ https://mon-entreprise.fr n’est + actuellement pas en conformité avec le{' '} + + référentiel général d’amélioration de l’accessibilité (RGAA) + + . L’audit de conformité sera prochainement planifié. Les corrections + seront prises en compte suite à l’audit. +

+

Droit à la compensation

+

+ Dans l’attente d’une mise en conformité totale, vous pouvez obtenir une + version accessible des documents ou des informations qui y seraient + contenues en envoyant un courriel à{' '} + + accessibilite@acoss.fr + {' '} + en indiquant le nom du document concerné et/ou les informations que vous + souhaiteriez obtenir. Les informations demandées vous seront transmises + dans les meilleurs délais. +

+

Amélioration et contact

+

+ Vous pouvez nous aider à améliorer l’accessibilité du site en nous + signalant les problèmes éventuels que vous rencontrez. Pour ce faire, + envoyez-nous un courriel à{' '} + + accessibilite@acoss.fr + + . +

+

Défenseur des droits

+

Cette procédure est à utiliser dans le cas suivant.

+

+ 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. +

+ + +

Mis à jour le 29/01/2021

+
+ ) +} diff --git a/mon-entreprise/source/sitePaths.ts b/mon-entreprise/source/sitePaths.ts index a0f5fbecb..8a81fa4bb 100644 --- a/mon-entreprise/source/sitePaths.ts +++ b/mon-entreprise/source/sitePaths.ts @@ -74,6 +74,7 @@ const sitePathsFr = { }, nouveautés: '/nouveautés', stats: '/stats', + accessibilité: '/accessibilité', budget: '/budget', integration: { index: '/intégration', @@ -134,6 +135,8 @@ const sitePathsEn = { is: '/corporate-tax', }, nouveautés: '/news', + accessibilité: '/accessibility', + integration: { ...sitePathsFr.integration, index: '/integration',