@cnamts/synapse 0.0.5-alpha → 0.0.6-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/design-system-v3.d.ts +481 -411
- package/dist/design-system-v3.js +2950 -2202
- package/dist/design-system-v3.umd.cjs +6 -6
- package/dist/style.css +1 -1
- package/package.json +17 -17
- package/src/assets/settings.scss +3 -0
- package/src/assets/tokens.scss +16 -16
- package/src/components/BackBtn/AccessibiliteItems.ts +0 -30
- package/src/components/BackBtn/BackBtn.mdx +1 -1
- package/src/components/BackBtn/BackBtn.stories.ts +8 -8
- package/src/components/BackBtn/BackBtn.vue +0 -1
- package/src/components/BackToTopBtn/AccessibiliteItems.ts +0 -30
- package/src/components/BackToTopBtn/BackToTopBtn.mdx +1 -1
- package/src/components/CollapsibleList/Accessibilite.stories.ts +4 -0
- package/src/components/CollapsibleList/AccessibiliteItems.ts +55 -62
- package/src/components/CollapsibleList/CollapsibleList.stories.ts +1 -1
- package/src/components/CookieBanner/Accessibilite.stories.ts +219 -0
- package/src/components/CookieBanner/AccessibiliteItems.ts +356 -0
- package/src/components/CookieBanner/CookieBanner.mdx +219 -0
- package/src/components/CookieBanner/CookieBanner.stories.ts +678 -0
- package/src/components/CookieBanner/CookieBanner.vue +225 -0
- package/src/components/CookieBanner/config.ts +38 -0
- package/src/components/CookieBanner/locales.ts +12 -0
- package/src/components/CookieBanner/tests/CookieBanner.spec.ts +129 -0
- package/src/components/CookieBanner/tests/__snapshots__/CookieBanner.spec.ts.snap +197 -0
- package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +123 -0
- package/src/components/CookiesSelection/CookiesInformation/locales.ts +21 -0
- package/src/components/CookiesSelection/CookiesInformation/tests/CookiesInformation.spec.ts +121 -0
- package/src/components/CookiesSelection/CookiesSelection.vue +127 -0
- package/src/components/CookiesSelection/CookiesTable/CookiesTable.vue +47 -0
- package/src/components/CookiesSelection/CookiesTable/headers.ts +14 -0
- package/src/components/CookiesSelection/CookiesTable/tests/CookiesTable.spec.ts +30 -0
- package/src/components/CookiesSelection/CookiesTable/tests/__snapshots__/CookiesTable.spec.ts.snap +3 -0
- package/src/components/CookiesSelection/locales.ts +10 -0
- package/src/components/CookiesSelection/tests/CookiesSelection.spec.ts +184 -0
- package/src/components/CookiesSelection/tests/__snapshots__/CookiesSelection.spec.ts.snap +192 -0
- package/src/components/CookiesSelection/types.ts +15 -0
- package/src/components/CopyBtn/AccessibiliteItems.ts +0 -30
- package/src/components/CopyBtn/CopyBtn.mdx +1 -1
- package/src/components/CopyBtn/CopyBtn.stories.ts +4 -4
- package/src/components/CopyBtn/CopyBtn.vue +0 -1
- package/src/components/Customs/SyBtnSelect/Accessibilite.mdx +14 -0
- package/src/components/Customs/SyBtnSelect/Accessibilite.stories.ts +193 -0
- package/src/components/Customs/SyBtnSelect/AccessibiliteItems.ts +139 -0
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.mdx +3 -2
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.stories.ts +63 -7
- package/src/components/Customs/SyBtnSelect/SyBtnSelect.vue +21 -13
- package/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/Customs/SyInputSelect/Accessibilite.mdx +14 -0
- package/src/components/Customs/SyInputSelect/Accessibilite.stories.ts +166 -0
- package/src/components/Customs/SyInputSelect/AccessibiliteItems.ts +96 -0
- package/src/components/Customs/SyInputSelect/SyInputSelect.mdx +3 -2
- package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +5 -58
- package/src/components/Customs/SyInputSelect/SyInputSelect.vue +36 -4
- package/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/Customs/SySelect/Accessibilite.mdx +14 -0
- package/src/components/Customs/SySelect/Accessibilite.stories.ts +217 -0
- package/src/components/Customs/SySelect/AccessibiliteItems.ts +173 -0
- package/src/components/Customs/SySelect/SySelect.mdx +3 -2
- package/src/components/Customs/SySelect/SySelect.stories.ts +4 -58
- package/src/components/Customs/SySelect/SySelect.vue +35 -8
- package/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/Customs/SyTextField/Accessibilite.mdx +14 -0
- package/src/components/Customs/SyTextField/Accessibilite.stories.ts +224 -0
- package/src/components/Customs/SyTextField/AccessibiliteItems.ts +198 -0
- package/src/components/Customs/SyTextField/SyTextField.mdx +1 -1
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +118 -7
- package/src/components/Customs/SyTextField/SyTextField.vue +27 -7
- package/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/Customs/SyTextField/tests/__snapshots__/SyTextField.spec.ts.snap +2 -1
- package/src/components/DataList/Accessibilite.mdx +14 -0
- package/src/components/DataList/Accessibilite.stories.ts +166 -0
- package/src/components/DataList/AccessibiliteItems.ts +47 -0
- package/src/components/DataList/DataList.mdx +1 -1
- package/src/components/DataList/DataList.stories.ts +10 -10
- package/src/components/DataList/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/DataListGroup/Accessibilite.mdx +14 -0
- package/src/components/DataListGroup/Accessibilite.stories.ts +225 -0
- package/src/components/DataListGroup/AccessibiliteItems.ts +79 -0
- package/src/components/DataListGroup/DataListGroup.mdx +1 -1
- package/src/components/DataListGroup/DataListGroup.stories.ts +7 -7
- package/src/components/DataListGroup/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/DialogBox/Accessibilite.mdx +14 -0
- package/src/components/DialogBox/Accessibilite.stories.ts +189 -0
- package/src/components/DialogBox/AccessibiliteItems.ts +167 -0
- package/src/components/DialogBox/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/DownloadBtn/AccessibiliteItems.ts +1 -31
- package/src/components/DownloadBtn/DownloadBtn.mdx +3 -3
- package/src/components/DownloadBtn/DownloadBtn.stories.ts +6 -6
- package/src/components/ErrorPage/Accessibilite.mdx +14 -0
- package/src/components/ErrorPage/Accessibilite.stories.ts +189 -0
- package/src/components/ErrorPage/AccessibiliteItems.ts +205 -0
- package/src/components/ErrorPage/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +4 -4
- package/src/components/FooterBar/Accessibilite.mdx +14 -0
- package/src/components/FooterBar/Accessibilite.stories.ts +223 -0
- package/src/components/FooterBar/AccessibiliteItems.ts +257 -0
- package/src/components/FooterBar/FooterBar.mdx +2 -2
- package/src/components/FooterBar/FooterBar.stories.ts +14 -14
- package/src/components/FooterBar/FooterBar.vue +80 -73
- package/src/components/FooterBar/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/FooterBar/tests/__snapshots__/FooterBar.spec.ts.snap +22 -20
- package/src/components/FranceConnectBtn/AccessibiliteItems.ts +0 -30
- package/src/components/FranceConnectBtn/FranceConnectBtn.mdx +1 -1
- package/src/components/FranceConnectBtn/FranceConnectBtn.stories.ts +3 -3
- package/src/components/HeaderBar/Accessibilite.mdx +14 -0
- package/src/components/HeaderBar/Accessibilite.stories.ts +223 -0
- package/src/components/HeaderBar/AccessibiliteItems.ts +194 -0
- package/src/components/HeaderBar/HeaderBar.vue +1 -9
- package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.mdx +14 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/Accessibilite.stories.ts +223 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +174 -0
- package/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/HeaderBar/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/HeaderBar/tests/__snapshots__/HeaderBar.spec.ts.snap +1 -1
- package/src/components/HeaderLoading/Accessibilite.mdx +14 -0
- package/src/components/HeaderLoading/Accessibilite.stories.ts +167 -0
- package/src/components/HeaderLoading/AccessibiliteItems.ts +29 -0
- package/src/components/HeaderLoading/HeaderLoading.mdx +1 -1
- package/src/components/HeaderLoading/HeaderLoading.stories.ts +1 -1
- package/src/components/HeaderLoading/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/HeaderNavigationBar/HorizontalNavbar/HorizontalNavbar.vue +35 -33
- package/src/components/HeaderToolbar/Accessibilite.mdx +14 -0
- package/src/components/HeaderToolbar/Accessibilite.stories.ts +203 -0
- package/src/components/HeaderToolbar/AccessibiliteItems.ts +200 -0
- package/src/components/HeaderToolbar/HeaderToolbar.mdx +1 -1
- package/src/components/HeaderToolbar/HeaderToolbar.stories.ts +2 -2
- package/src/components/HeaderToolbar/HeaderToolbar.vue +1 -0
- package/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/LangBtn/Accessibilite.stories.ts +3 -1
- package/src/components/LangBtn/AccessibiliteItems.ts +0 -31
- package/src/components/LangBtn/LangBtn.mdx +1 -1
- package/src/components/LangBtn/LangBtn.stories.ts +4 -4
- package/src/components/LangBtn/LangBtn.vue +3 -2
- package/src/components/Logo/Accessibilite.mdx +14 -0
- package/src/components/Logo/Accessibilite.stories.ts +223 -0
- package/src/components/Logo/AccessibiliteItems.ts +155 -0
- package/src/components/Logo/Logo.mdx +1 -1
- package/src/components/Logo/Logo.stories.ts +8 -8
- package/src/components/Logo/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/LogoBrandSection/Accessibilite.mdx +14 -0
- package/src/components/LogoBrandSection/Accessibilite.stories.ts +223 -0
- package/src/components/LogoBrandSection/AccessibiliteItems.ts +194 -0
- package/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/MaintenancePage/Accessibilite.mdx +14 -0
- package/src/components/MaintenancePage/Accessibilite.stories.ts +189 -0
- package/src/components/MaintenancePage/AccessibiliteItems.ts +173 -0
- package/src/components/MaintenancePage/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/NirField/Accessibilite.mdx +14 -0
- package/src/components/NirField/Accessibilite.stories.ts +214 -0
- package/src/components/NirField/AccessibiliteItems.ts +243 -0
- package/src/components/NirField/NirField.mdx +216 -0
- package/src/components/NirField/NirField.stories.ts +359 -0
- package/src/components/NirField/NirField.vue +450 -0
- package/src/components/NirField/config.ts +16 -0
- package/src/components/NirField/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/NirField/locales.ts +12 -0
- package/src/components/NirField/nirValidation.ts +42 -0
- package/src/components/NirField/tests/NirField.spec.ts +119 -0
- package/src/components/NotFoundPage/Accessibilite.mdx +14 -0
- package/src/components/NotFoundPage/Accessibilite.stories.ts +190 -0
- package/src/components/NotFoundPage/AccessibiliteItems.ts +205 -0
- package/src/components/NotFoundPage/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +4 -4
- package/src/components/NotificationBar/AccessibiliteItems.ts +0 -30
- package/src/components/NotificationBar/NotificationBar.mdx +1 -1
- package/src/components/PageContainer/PageContainer.mdx +1 -1
- package/src/components/PageContainer/PageContainer.stories.ts +4 -4
- package/src/components/PageContainer/PageContainer.vue +16 -15
- package/src/components/PageContainer/tests/PageContainer.spec.ts +1 -1
- package/src/components/PageContainer/tests/__snapshots__/PageContainer.spec.ts.snap +2 -2
- package/src/components/PhoneField/Accessibilite.mdx +14 -0
- package/src/components/PhoneField/Accessibilite.stories.ts +216 -0
- package/src/components/PhoneField/AccessibiliteItems.ts +238 -0
- package/src/components/PhoneField/PhoneField.mdx +1 -1
- package/src/components/PhoneField/PhoneField.stories.ts +2 -2
- package/src/components/PhoneField/PhoneField.vue +0 -1
- package/src/components/PhoneField/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/SkipLink/Accessibilite.stories.ts +1 -1
- package/src/components/SkipLink/SkipLink.stories.ts +2 -2
- package/src/components/SocialMediaLinks/Accessibilite.mdx +14 -0
- package/src/components/SocialMediaLinks/Accessibilite.stories.ts +170 -0
- package/src/components/SocialMediaLinks/AccessibiliteItems.ts +160 -0
- package/src/components/SocialMediaLinks/SocialMediaLinks.mdx +1 -1
- package/src/components/SocialMediaLinks/SocialMediaLinks.stories.ts +1 -1
- package/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/SubHeader/Accessibilite.mdx +14 -0
- package/src/components/SubHeader/Accessibilite.stories.ts +166 -0
- package/src/components/SubHeader/AccessibiliteItems.ts +146 -0
- package/src/components/SubHeader/SubHeader.mdx +1 -1
- package/src/components/SubHeader/SubHeader.stories.ts +11 -11
- package/src/components/SubHeader/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/SyAlert/Accessibilite.mdx +14 -0
- package/src/components/{Alert → SyAlert}/Accessibilite.stories.ts +1 -1
- package/src/components/{Alert → SyAlert}/AccessibiliteItems.ts +2 -32
- package/src/components/{Alert/Alert.mdx → SyAlert/SyAlert.mdx} +9 -9
- package/src/components/{Alert/Alert.stories.ts → SyAlert/SyAlert.stories.ts} +22 -22
- package/src/components/SyAlert/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/{Alert/tests/Alert.spec.ts → SyAlert/tests/SyAlert.spec.ts} +5 -5
- package/src/components/{Alert/tests/__snapshots__/Alert.spec.ts.snap → SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap} +2 -2
- package/src/components/UserMenuBtn/Accessibilite.mdx +14 -0
- package/src/components/UserMenuBtn/Accessibilite.stories.ts +189 -0
- package/src/components/UserMenuBtn/AccessibiliteItems.ts +155 -0
- package/src/components/UserMenuBtn/UserMenuBtn.mdx +17 -17
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +121 -19
- package/src/components/UserMenuBtn/UserMenuBtn.vue +25 -29
- package/src/components/UserMenuBtn/config.ts +1 -1
- package/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.ts +4 -0
- package/src/components/index.ts +10 -4
- package/src/composables/rules/tests/useFieldValidation.spec.ts +60 -58
- package/src/composables/rules/useFieldValidation.ts +65 -28
- package/src/main.ts +1 -0
- package/src/stories/GuideDuDev/CommentUtiliserLesRules.mdx +67 -79
- package/src/stories/GuideDuDev/components.stories.ts +5 -5
- package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
- package/src/stories/Guidelines/Vuetify/Vuetify.mdx +11 -0
- package/src/stories/Guidelines/Vuetify/Vuetify.stories.ts +138 -0
- package/src/stories/Guidelines/Vuetify/VuetifyItems.ts +350 -0
- /package/src/components/{Alert → CookieBanner}/Accessibilite.mdx +0 -0
- /package/src/components/{Alert → CookieBanner}/constants/ExpertiseLevelEnum.ts +0 -0
- /package/src/components/{Alert/Alert.vue → SyAlert/SyAlert.vue} +0 -0
- /package/src/components/{Alert → SyAlert}/locales.ts +0 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
+
|
|
3
|
+
exports[`CookiesSelection > renders correctly 1`] = `
|
|
4
|
+
"<div class="v-card v-theme--light bg-transparent v-card--density-default elevation-0 v-card--variant-elevated vd-cookies-card">
|
|
5
|
+
<!---->
|
|
6
|
+
<div class="v-card__loader">
|
|
7
|
+
<div class="v-progress-linear v-theme--light v-locale--is-ltr" style="top: 0px; height: 0px; --v-progress-linear-height: 2px;" role="progressbar" aria-hidden="true" aria-valuemin="0" aria-valuemax="100">
|
|
8
|
+
<!---->
|
|
9
|
+
<div class="v-progress-linear__background" style="opacity: NaN;"></div>
|
|
10
|
+
<div class="v-progress-linear__buffer" style="opacity: NaN; width: 0%;"></div>
|
|
11
|
+
<transition-stub name="fade-transition" appear="false" persisted="false" css="true">
|
|
12
|
+
<div class="v-progress-linear__indeterminate">
|
|
13
|
+
<div class="v-progress-linear__indeterminate long"></div>
|
|
14
|
+
<div class="v-progress-linear__indeterminate short"></div>
|
|
15
|
+
</div>
|
|
16
|
+
</transition-stub>
|
|
17
|
+
<!---->
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
<!---->
|
|
21
|
+
<!---->
|
|
22
|
+
<form class="v-form" novalidate="">
|
|
23
|
+
<p class="mb-4">Définissez vos préférences de collecte et de traitement de vos données sur ce site.</p>
|
|
24
|
+
<p class="mb-4">Un cookie est un petit fichier texte déposé sur votre terminal (ordinateur, tablette ou mobile) lors de la visite d’un site ou lors de la consultation d’une publicité. Il contient plusieurs données : le nom du service qui l’a déposé, un identifiant sous forme de numéro unique, une valeur et éventuellement une date d’expiration.</p>
|
|
25
|
+
<div class="d-flex flex-wrap justify-end mx-n2 mt-n2 mb-6"><button type="button" class="v-btn v-theme--light text-primary v-btn--density-default v-btn--size-default v-btn--variant-outlined ma-2" data-test-id="reject-all"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
|
|
26
|
+
<!----><span class="v-btn__content" data-no-activator="">Tout refuser</span>
|
|
27
|
+
<!---->
|
|
28
|
+
<!---->
|
|
29
|
+
</button><button type="button" class="v-btn v-theme--light text-primary v-btn--density-default v-btn--size-default v-btn--variant-outlined ma-2" data-test-id="accept-all"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
|
|
30
|
+
<!----><span class="v-btn__content" data-no-activator="">Tout accepter</span>
|
|
31
|
+
<!---->
|
|
32
|
+
<!---->
|
|
33
|
+
</button></div>
|
|
34
|
+
<div data-v-2ca04413="" class="vd-cookies-information mb-6">
|
|
35
|
+
<h2 data-v-2ca04413="" class="text-subtitle-1 font-weight-bold mb-2">Cookies requis</h2>
|
|
36
|
+
<p data-v-2ca04413="" class="mb-4">Ces cookies sont indispensables au fonctionnement du site et ne peuvent être désactivés.</p>
|
|
37
|
+
<details data-v-2ca04413="">
|
|
38
|
+
<summary data-v-2ca04413="" class="mb-1">Afficher les cookies <i data-v-2ca04413="" class="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z mdi v-icon notranslate v-theme--light v-icon--size-default mr-2" aria-hidden="true" data-test="chevron"></i></summary>
|
|
39
|
+
<div data-v-d0e8c396="" data-v-2ca04413="" class="v-table v-theme--light v-table--density-default vd-cookie-table bg-transparent mb-2">
|
|
40
|
+
<!---->
|
|
41
|
+
<div class="v-table__wrapper">
|
|
42
|
+
<table>
|
|
43
|
+
<thead data-v-d0e8c396="">
|
|
44
|
+
<tr data-v-d0e8c396="">
|
|
45
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
46
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
47
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
48
|
+
</tr>
|
|
49
|
+
</thead>
|
|
50
|
+
<tbody data-v-d0e8c396="">
|
|
51
|
+
<tr data-v-d0e8c396="">
|
|
52
|
+
<td data-v-d0e8c396="">session</td>
|
|
53
|
+
<td data-v-d0e8c396="">Sauvegarde la session pour rester connecté.</td>
|
|
54
|
+
<td data-v-d0e8c396="">20 heures</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr data-v-d0e8c396="">
|
|
57
|
+
<td data-v-d0e8c396="">cookie_policy</td>
|
|
58
|
+
<td data-v-d0e8c396="">Sauvegarde les préférences de cookies.</td>
|
|
59
|
+
<td data-v-d0e8c396="">1 an</td>
|
|
60
|
+
</tr>
|
|
61
|
+
</tbody>
|
|
62
|
+
</table>
|
|
63
|
+
</div>
|
|
64
|
+
<!---->
|
|
65
|
+
</div>
|
|
66
|
+
</details>
|
|
67
|
+
<!--v-if-->
|
|
68
|
+
</div>
|
|
69
|
+
<div data-v-2ca04413="" class="vd-cookies-information mb-6">
|
|
70
|
+
<h2 data-v-2ca04413="" class="text-subtitle-1 font-weight-bold mb-2">Cookies fonctionnels</h2>
|
|
71
|
+
<p data-v-2ca04413="" class="mb-4">Ces cookies sont utilisés pour capturer vos préférences sur notre site. Ils permettent de vous assurer un confort dans votre navigation.</p>
|
|
72
|
+
<details data-v-2ca04413="">
|
|
73
|
+
<summary data-v-2ca04413="" class="mb-1">Afficher les cookies <i data-v-2ca04413="" class="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z mdi v-icon notranslate v-theme--light v-icon--size-default mr-2" aria-hidden="true" data-test="chevron"></i></summary>
|
|
74
|
+
<div data-v-d0e8c396="" data-v-2ca04413="" class="v-table v-theme--light v-table--density-default vd-cookie-table bg-transparent mb-2">
|
|
75
|
+
<!---->
|
|
76
|
+
<div class="v-table__wrapper">
|
|
77
|
+
<table>
|
|
78
|
+
<thead data-v-d0e8c396="">
|
|
79
|
+
<tr data-v-d0e8c396="">
|
|
80
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
81
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
82
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
83
|
+
</tr>
|
|
84
|
+
</thead>
|
|
85
|
+
<tbody data-v-d0e8c396="">
|
|
86
|
+
<tr data-v-d0e8c396="">
|
|
87
|
+
<td data-v-d0e8c396="">contrast</td>
|
|
88
|
+
<td data-v-d0e8c396="">Sauvegarde la personnalisation de l’affichage.</td>
|
|
89
|
+
<td data-v-d0e8c396="">1 an</td>
|
|
90
|
+
</tr>
|
|
91
|
+
</tbody>
|
|
92
|
+
</table>
|
|
93
|
+
</div>
|
|
94
|
+
<!---->
|
|
95
|
+
</div>
|
|
96
|
+
</details>
|
|
97
|
+
<div data-v-2ca04413="" class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-radio-group vd-cookies-information__radio-group" data-test-id="radio-group">
|
|
98
|
+
<!---->
|
|
99
|
+
<div class="v-input__control">
|
|
100
|
+
<!---->
|
|
101
|
+
<div class="v-selection-control-group v-selection-control-group--inline" role="radiogroup" aria-describedby="radio-group-2-messages">
|
|
102
|
+
<div data-v-2ca04413="" class="v-spacer"></div>
|
|
103
|
+
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio">
|
|
104
|
+
<div class="v-selection-control__wrapper">
|
|
105
|
+
<!---->
|
|
106
|
+
<div class="v-selection-control__input"><i class="mdi-radiobox-blank mdi v-icon notranslate v-theme--light v-icon--size-default" aria-hidden="true"></i><input id="input-5" aria-disabled="false" aria-label="Refuser" type="radio" name="radio-group-2" value="reject"></div>
|
|
107
|
+
</div><label class="v-label v-label--clickable" for="input-5">
|
|
108
|
+
<!---->Refuser
|
|
109
|
+
</label>
|
|
110
|
+
</div>
|
|
111
|
+
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio mr-0">
|
|
112
|
+
<div class="v-selection-control__wrapper">
|
|
113
|
+
<!---->
|
|
114
|
+
<div class="v-selection-control__input"><i class="mdi-radiobox-blank mdi v-icon notranslate v-theme--light v-icon--size-default" aria-hidden="true"></i><input id="input-6" aria-disabled="false" aria-label="Accepter" type="radio" name="radio-group-2" value="accept"></div>
|
|
115
|
+
</div><label class="v-label v-label--clickable" for="input-6">
|
|
116
|
+
<!---->Accepter
|
|
117
|
+
</label>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
<!---->
|
|
122
|
+
<!---->
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
<div data-v-2ca04413="" class="vd-cookies-information mb-6">
|
|
126
|
+
<h2 data-v-2ca04413="" class="text-subtitle-1 font-weight-bold mb-2">Cookies d’analyse</h2>
|
|
127
|
+
<p data-v-2ca04413="" class="mb-4">Ces cookies sont dédiés à l’amélioration de notre site en analysant votre expérience d’utilisation. Ils nous sont très utiles pour vous proposer un site de bonne qualité.</p>
|
|
128
|
+
<details data-v-2ca04413="">
|
|
129
|
+
<summary data-v-2ca04413="" class="mb-1">Afficher les cookies <i data-v-2ca04413="" class="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z mdi v-icon notranslate v-theme--light v-icon--size-default mr-2" aria-hidden="true" data-test="chevron"></i></summary>
|
|
130
|
+
<div data-v-d0e8c396="" data-v-2ca04413="" class="v-table v-theme--light v-table--density-default vd-cookie-table bg-transparent mb-2">
|
|
131
|
+
<!---->
|
|
132
|
+
<div class="v-table__wrapper">
|
|
133
|
+
<table>
|
|
134
|
+
<thead data-v-d0e8c396="">
|
|
135
|
+
<tr data-v-d0e8c396="">
|
|
136
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Dénomination du cookie</th>
|
|
137
|
+
<th data-v-d0e8c396="" style="width: 328px;" class="text-left">Finalité</th>
|
|
138
|
+
<th data-v-d0e8c396="" style="width: 180px;" class="text-left">Durée de conservation</th>
|
|
139
|
+
</tr>
|
|
140
|
+
</thead>
|
|
141
|
+
<tbody data-v-d0e8c396="">
|
|
142
|
+
<tr data-v-d0e8c396="">
|
|
143
|
+
<td data-v-d0e8c396="">user_id</td>
|
|
144
|
+
<td data-v-d0e8c396="">Sauvegarde l’identifiant unique de visiteur.</td>
|
|
145
|
+
<td data-v-d0e8c396="">6 mois</td>
|
|
146
|
+
</tr>
|
|
147
|
+
</tbody>
|
|
148
|
+
</table>
|
|
149
|
+
</div>
|
|
150
|
+
<!---->
|
|
151
|
+
</div>
|
|
152
|
+
</details>
|
|
153
|
+
<div data-v-2ca04413="" class="v-input v-input--horizontal v-input--center-affix v-input--density-default v-theme--light v-locale--is-ltr v-radio-group vd-cookies-information__radio-group" data-test-id="radio-group">
|
|
154
|
+
<!---->
|
|
155
|
+
<div class="v-input__control">
|
|
156
|
+
<!---->
|
|
157
|
+
<div class="v-selection-control-group v-selection-control-group--inline" role="radiogroup" aria-describedby="radio-group-7-messages">
|
|
158
|
+
<div data-v-2ca04413="" class="v-spacer"></div>
|
|
159
|
+
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio">
|
|
160
|
+
<div class="v-selection-control__wrapper">
|
|
161
|
+
<!---->
|
|
162
|
+
<div class="v-selection-control__input"><i class="mdi-radiobox-blank mdi v-icon notranslate v-theme--light v-icon--size-default" aria-hidden="true"></i><input id="input-10" aria-disabled="false" aria-label="Refuser" type="radio" name="radio-group-7" value="reject"></div>
|
|
163
|
+
</div><label class="v-label v-label--clickable" for="input-10">
|
|
164
|
+
<!---->Refuser
|
|
165
|
+
</label>
|
|
166
|
+
</div>
|
|
167
|
+
<div data-v-2ca04413="" class="v-selection-control v-selection-control--inline v-selection-control--density-default v-radio mr-0">
|
|
168
|
+
<div class="v-selection-control__wrapper">
|
|
169
|
+
<!---->
|
|
170
|
+
<div class="v-selection-control__input"><i class="mdi-radiobox-blank mdi v-icon notranslate v-theme--light v-icon--size-default" aria-hidden="true"></i><input id="input-11" aria-disabled="false" aria-label="Accepter" type="radio" name="radio-group-7" value="accept"></div>
|
|
171
|
+
</div><label class="v-label v-label--clickable" for="input-11">
|
|
172
|
+
<!---->Accepter
|
|
173
|
+
</label>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
<!---->
|
|
178
|
+
<!---->
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
<div class="d-flex mt-16">
|
|
182
|
+
<div class="v-spacer"></div><button type="button" class="v-btn v-btn--elevated v-theme--light bg-primary v-btn--density-default v-btn--size-default v-btn--variant-elevated" data-test-id="submit"><span class="v-btn__overlay"></span><span class="v-btn__underlay"></span>
|
|
183
|
+
<!----><span class="v-btn__content" data-no-activator="">Enregistrer mes choix</span>
|
|
184
|
+
<!---->
|
|
185
|
+
<!---->
|
|
186
|
+
</button>
|
|
187
|
+
</div>
|
|
188
|
+
</form>
|
|
189
|
+
<!---->
|
|
190
|
+
<!----><span class="v-card__underlay"></span>
|
|
191
|
+
</div>"
|
|
192
|
+
`;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type CookieTypes = 'essentials' | 'functional' | 'analytics'
|
|
2
|
+
|
|
3
|
+
export type CookiesItems = {
|
|
4
|
+
[key in CookieTypes]?: Cookie[]
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type Preferences = {
|
|
8
|
+
[key in CookieTypes]: boolean | undefined
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface Cookie {
|
|
12
|
+
name: string
|
|
13
|
+
description?: string
|
|
14
|
+
conservation: string
|
|
15
|
+
}
|
|
@@ -1,37 +1,7 @@
|
|
|
1
1
|
import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
|
|
2
2
|
|
|
3
3
|
export const AccessibiliteItemsIndeterminate = [
|
|
4
|
-
{
|
|
5
|
-
title: 'Catégorie 1 : Images',
|
|
6
|
-
subtitle: '1.4 Pour chaque image utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative permet-elle d’identifier la nature et la fonction de l’image ?',
|
|
7
|
-
items: [
|
|
8
|
-
{
|
|
9
|
-
|
|
10
|
-
precision: '1.4.1 Pour chaque image (balise <img>) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative est-elle pertinente ?',
|
|
11
|
-
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#1.4.1',
|
|
12
|
-
solution: [{
|
|
13
|
-
info1: '1. Retrouver dans le document les images structurées au moyen d’un élément <img> pourvues d’une alternative textuelle et utilisées comme CAPTCHA ou comme image-test',
|
|
14
|
-
info2: '2. Pour chaque image, vérifier que l’alternative textuelle est pertinente',
|
|
15
|
-
info3: '3. Si c’est le cas pour chaque image, le test est validé',
|
|
16
|
-
}],
|
|
17
|
-
expertise: ExpertiseLevelEnum.DEV,
|
|
18
4
|
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
precision: ' 1.4.6 Pour chaque image vectorielle (balise <svg>) utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative est-elle pertinente ?',
|
|
23
|
-
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#1.4.6',
|
|
24
|
-
solution: [{
|
|
25
|
-
info1: '1. Retrouver dans le document les éléments <svg> pourvus d’une alternative textuelle et utilisés comme CAPTCHA ou comme image-test;',
|
|
26
|
-
info2: '2. Pour chaque élément <svg>, vérifier que l’alternative textuelle est pertinente',
|
|
27
|
-
info3: '3. Si c’est le cas pour chaque image, le test est validé',
|
|
28
|
-
}],
|
|
29
|
-
expertise: ExpertiseLevelEnum.DEV,
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
],
|
|
34
|
-
},
|
|
35
5
|
{
|
|
36
6
|
title: 'Catégorie 10 : Présentation de l\'information',
|
|
37
7
|
subtitle: '10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance',
|
|
@@ -81,7 +81,7 @@ export const Default: Story = {
|
|
|
81
81
|
{
|
|
82
82
|
name: 'Script',
|
|
83
83
|
code: `<script setup lang="ts">
|
|
84
|
-
import CopyBtn from '@cnamts/synapse'
|
|
84
|
+
import { CopyBtn } from '@cnamts/synapse'
|
|
85
85
|
</script>
|
|
86
86
|
`,
|
|
87
87
|
},
|
|
@@ -157,7 +157,7 @@ export const NoTooltip: Story = {
|
|
|
157
157
|
{
|
|
158
158
|
name: 'Script',
|
|
159
159
|
code: `<script setup lang="ts">
|
|
160
|
-
import CopyBtn from '@cnamts/synapse'
|
|
160
|
+
import { CopyBtn } from '@cnamts/synapse'
|
|
161
161
|
</script>
|
|
162
162
|
`,
|
|
163
163
|
},
|
|
@@ -216,7 +216,7 @@ export const SlotIcon: Story = {
|
|
|
216
216
|
{
|
|
217
217
|
name: 'Script',
|
|
218
218
|
code: `<script setup lang="ts">
|
|
219
|
-
import CopyBtn from '@cnamts/synapse'
|
|
219
|
+
import { CopyBtn } from '@cnamts/synapse'
|
|
220
220
|
import { mdiContentDuplicate } from '@mdi/js'
|
|
221
221
|
|
|
222
222
|
const duplicateIcon = mdiContentDuplicate
|
|
@@ -285,7 +285,7 @@ export const SlotTooltip: Story = {
|
|
|
285
285
|
{
|
|
286
286
|
name: 'Script',
|
|
287
287
|
code: `<script setup lang="ts">
|
|
288
|
-
import CopyBtn from '@cnamts/synapse'
|
|
288
|
+
import { CopyBtn } from '@cnamts/synapse'
|
|
289
289
|
|
|
290
290
|
const tooltip = 'Texte personalisé'
|
|
291
291
|
</script>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Meta, Story } from '@storybook/addon-docs';
|
|
2
|
+
import * as AccessStories from './Accessibilite.stories.ts';
|
|
3
|
+
|
|
4
|
+
<Meta of={AccessStories} />
|
|
5
|
+
|
|
6
|
+
Accessibilité
|
|
7
|
+
=============
|
|
8
|
+
<Story of={AccessStories.Legende} />
|
|
9
|
+
<br />
|
|
10
|
+
|
|
11
|
+
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
12
|
+
|
|
13
|
+
<Story of={AccessStories.AccessibilitePanel} />
|
|
14
|
+
<br />
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VDataTable, VIcon } from 'vuetify/components'
|
|
2
|
+
import type { StoryObj } from '@storybook/vue3'
|
|
3
|
+
import { AccessibiliteItemsIndeterminate, AccessibiliteItemsValidated } from './AccessibiliteItems'
|
|
4
|
+
import { mdiCheckboxMarkedCircle, mdiLink, mdiEye } from '@mdi/js'
|
|
5
|
+
|
|
6
|
+
const checkIcon = mdiCheckboxMarkedCircle
|
|
7
|
+
const iconEye = mdiEye
|
|
8
|
+
const linkICon = mdiLink
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Composants/Formulaires/SyBtnSelect/Accessibilité',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const AccessibilitePanel: StoryObj = {
|
|
15
|
+
|
|
16
|
+
render: () => {
|
|
17
|
+
return {
|
|
18
|
+
components: { VExpansionPanels, VExpansionPanel, VExpansionPanelTitle, VExpansionPanelText, VDataTable, VIcon },
|
|
19
|
+
|
|
20
|
+
setup() {
|
|
21
|
+
const icon = checkIcon
|
|
22
|
+
|
|
23
|
+
return { AccessibiliteItemsIndeterminate, AccessibiliteItemsValidated, icon, linkICon, iconEye }
|
|
24
|
+
},
|
|
25
|
+
template: `
|
|
26
|
+
<div class="accessibiliteItems" style="display:flex; max-width: none !important;">
|
|
27
|
+
<v-col cols="6">
|
|
28
|
+
<div style="display:flex; margin-bottom: 10px; justify-content: space-between; align-items: center;">
|
|
29
|
+
<h5>{{ AccessibiliteItemsIndeterminate.length }} critères à prendre en charge par le projet</h5>
|
|
30
|
+
<div style="display: flex; align-items: center;">
|
|
31
|
+
<v-btn variant="tonal" color="red" size="x-small" style="margin: 4px;font-size: 8px;"
|
|
32
|
+
rounded>Tanaguru
|
|
33
|
+
</v-btn>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<v-expansion-panels value="opened" multiple>
|
|
38
|
+
<v-expansion-panel v-for="(item, index) in AccessibiliteItemsIndeterminate" :key="index" style="background-color: rgba(42, 96, 158, 0.1); margin-bottom: 10px;">
|
|
39
|
+
<v-expansion-panel-title>
|
|
40
|
+
<VIcon :icon="iconEye" style="margin-right: 5px; color:#5778b7;"/>
|
|
41
|
+
{{ item.title }}
|
|
42
|
+
</v-expansion-panel-title>
|
|
43
|
+
<v-expansion-panel-text>
|
|
44
|
+
<v-expansion-panels>
|
|
45
|
+
<v-expansion-panel v-for="(i, index) in item.items2" :key="i" style="margin-bottom: 10px;">
|
|
46
|
+
<v-expansion-panel-title
|
|
47
|
+
style="font-weight: bold; font-size: 13px; line-height: 16px;">
|
|
48
|
+
{{ i.subtitle}}
|
|
49
|
+
</v-expansion-panel-title>
|
|
50
|
+
<v-expansion-panel-text>
|
|
51
|
+
<div>
|
|
52
|
+
<p style="font-size: 13px;line-height: 16px;">
|
|
53
|
+
{{ i.precision }}
|
|
54
|
+
</p>
|
|
55
|
+
<div v-for="(value, index) in i.solution"
|
|
56
|
+
style="margin-top:15px; font-size: 13px;line-height: 16px;">
|
|
57
|
+
<p style="font-weight: bold;">Méthodologie du test : <a
|
|
58
|
+
href="{{i.link}}" target="blank">
|
|
59
|
+
<VIcon :icon="linkICon"/>
|
|
60
|
+
</a></p>
|
|
61
|
+
|
|
62
|
+
<p>{{ value.info1 }}</p>
|
|
63
|
+
<p>{{ value.info2 }}</p>
|
|
64
|
+
<p>{{ value.info3 }}</p>
|
|
65
|
+
|
|
66
|
+
</div>
|
|
67
|
+
<span style="display:flex; justify-content:center; margin-bottom:5px;">______</span>
|
|
68
|
+
</div>
|
|
69
|
+
</v-expansion-panel-text>
|
|
70
|
+
</v-expansion-panel>
|
|
71
|
+
<v-expansion-panel >
|
|
72
|
+
<v-expansion-panel-title
|
|
73
|
+
style="font-weight: bold; font-size: 13px; line-height: 16px;">
|
|
74
|
+
{{ item.subtitle }}
|
|
75
|
+
</v-expansion-panel-title>
|
|
76
|
+
<v-expansion-panel-text>
|
|
77
|
+
<div v-for="(value, i) in item.items" :key="i">
|
|
78
|
+
<p style="font-size: 13px;line-height: 16px;">
|
|
79
|
+
{{ value.precision }}
|
|
80
|
+
</p>
|
|
81
|
+
<div v-for="element in value.solution"
|
|
82
|
+
style="margin-top:15px; font-size: 13px;line-height: 16px;">
|
|
83
|
+
<p style="font-weight: bold;">Méthodologie du test : <a
|
|
84
|
+
href="value.link" target="blank">
|
|
85
|
+
<VIcon :icon="linkICon"/>
|
|
86
|
+
</a></p>
|
|
87
|
+
|
|
88
|
+
<p>{{ element.info1 }}</p>
|
|
89
|
+
<p>{{ element.info2 }}</p>
|
|
90
|
+
<p>{{ element.info3 }}</p>
|
|
91
|
+
|
|
92
|
+
</div>
|
|
93
|
+
<span style="display:flex; justify-content:center; margin-bottom:5px;">______</span>
|
|
94
|
+
</div>
|
|
95
|
+
</v-expansion-panel-text>
|
|
96
|
+
</v-expansion-panel>
|
|
97
|
+
</v-expansion-panels>
|
|
98
|
+
</v-expansion-panel-text>
|
|
99
|
+
</v-expansion-panel>
|
|
100
|
+
</v-expansion-panels>
|
|
101
|
+
</v-col>
|
|
102
|
+
<v-col cols="6">
|
|
103
|
+
<div style="display:flex; margin-bottom: 10px; justify-content: space-between; align-items: center;">
|
|
104
|
+
<h5>{{ AccessibiliteItemsValidated.length }} critères pris en charge par l'équipe Design System</h5>
|
|
105
|
+
<div style="display: flex; align-items: center;">
|
|
106
|
+
<v-btn variant="tonal" color="red" size="x-small" style="margin: 4px;font-size: 8px;"
|
|
107
|
+
rounded>Tanaguru
|
|
108
|
+
</v-btn>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
<v-expansion-panels v-if="AccessibiliteItemsValidated.length > 0" value="opened" multiple>
|
|
112
|
+
<v-expansion-panel
|
|
113
|
+
v-for="(item, index) in AccessibiliteItemsValidated"
|
|
114
|
+
:key="index" style="background-color: rgba(53,135,0,0.1); margin-bottom: 10px;">
|
|
115
|
+
<v-expansion-panel-title>
|
|
116
|
+
<VIcon color="green" :icon="icon" style="margin-right: 5px;"/>
|
|
117
|
+
{{ item.title }}
|
|
118
|
+
</v-expansion-panel-title>
|
|
119
|
+
<v-expansion-panel-text>
|
|
120
|
+
<v-expansion-panels>
|
|
121
|
+
<v-expansion-panel>
|
|
122
|
+
<v-expansion-panel-title style="font-weight: bold;font-size: 13px; line-height: 16px;">
|
|
123
|
+
{{ item.subtitle }}
|
|
124
|
+
</v-expansion-panel-title>
|
|
125
|
+
<v-expansion-panel-text>
|
|
126
|
+
<div v-for="(value, i) in item.items" :key="i">
|
|
127
|
+
<p style="font-size: 13px;line-height: 16px;">
|
|
128
|
+
{{ value.precision }}
|
|
129
|
+
</p>
|
|
130
|
+
<div v-for="element in value.solution"
|
|
131
|
+
style="margin-top:15px; font-size: 13px;line-height: 16px;">
|
|
132
|
+
<p style="font-weight: bold;">Méthodologie du test : <a
|
|
133
|
+
href="value.link" target="blank">
|
|
134
|
+
<VIcon :icon="linkICon"/>
|
|
135
|
+
</a></p>
|
|
136
|
+
<p>{{ element.info1 }}</p>
|
|
137
|
+
<p>{{ element.info2 }}</p>
|
|
138
|
+
<p>{{ element.info3 }}</p>
|
|
139
|
+
</div>
|
|
140
|
+
<span style="display:flex; justify-content:center; margin-bottom:5px;">______</span>
|
|
141
|
+
</div>
|
|
142
|
+
</v-expansion-panel-text>
|
|
143
|
+
</v-expansion-panel>
|
|
144
|
+
</v-expansion-panels>
|
|
145
|
+
</v-expansion-panel-text>
|
|
146
|
+
</v-expansion-panel>
|
|
147
|
+
</v-expansion-panels>
|
|
148
|
+
<div v-else style="display: flex;justify-content: center;"><span style="text-align:center;" >Pas de critère d'accessibilité bloquant</span></div>
|
|
149
|
+
</v-col>
|
|
150
|
+
</div>
|
|
151
|
+
`,
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
tags: ['!dev'],
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export const Legende: StoryObj = {
|
|
158
|
+
args: {
|
|
159
|
+
icon: checkIcon,
|
|
160
|
+
},
|
|
161
|
+
render: (args) => {
|
|
162
|
+
return {
|
|
163
|
+
components: { VIcon },
|
|
164
|
+
setup() {
|
|
165
|
+
return { args }
|
|
166
|
+
},
|
|
167
|
+
template: `
|
|
168
|
+
<p style="color: grey;font-size: 11px; margin-bottom: 12px;">Date de conception: 20/11/2024</p>
|
|
169
|
+
<div>
|
|
170
|
+
<p>Le tableau ci-dessous liste nos recommandations suivant les <a target="blank" style="color:#0C41BD;" href="https://www.numerique.gouv.fr/publications/rgaa-accessibilite/#contenu">catégories du RGAA</a>.</p>
|
|
171
|
+
<p style="margin-bottom: 12px;font-weight:bold;">Pour rappel le composant seul ne garantie pas
|
|
172
|
+
l'accessibilité du site.</p>
|
|
173
|
+
<div style="font-size: 14px">
|
|
174
|
+
<p>Nous avons deux façons de relever les problèmes d'accessibilité des composants :</p>
|
|
175
|
+
<div>
|
|
176
|
+
<v-btn variant="tonal" color="grey" size="x-small" style="margin: 2px;font-size: 8px;" rounded>
|
|
177
|
+
Audit
|
|
178
|
+
</v-btn>
|
|
179
|
+
Problèmes relevés par le projet
|
|
180
|
+
</div>
|
|
181
|
+
<div>
|
|
182
|
+
<v-btn variant="tonal" color="red" size="x-small" style="margin: 2px;font-size: 8px;" rounded>
|
|
183
|
+
Tanaguru
|
|
184
|
+
</v-btn>
|
|
185
|
+
Problèmes relevés par Tanaguru
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
`,
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
tags: ['!dev'],
|
|
193
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { ExpertiseLevelEnum } from './constants/ExpertiseLevelEnum'
|
|
2
|
+
|
|
3
|
+
export const AccessibiliteItemsIndeterminate = [
|
|
4
|
+
|
|
5
|
+
{
|
|
6
|
+
title: 'Catégorie 3 : Couleurs',
|
|
7
|
+
subtitle: '3.2 Dans chaque page web, le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé?',
|
|
8
|
+
items: [
|
|
9
|
+
{
|
|
10
|
+
precision: '3.2.1 Dans chaque page web, le texte et le texte en image sans effet de graisse d’une taille restituée inférieure à 24px vérifient-ils une de ces conditions? Le rapport de contraste entre le texte et son arrière-plan est de 4.5:1, au moins; Un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 4.5:1, au moins.',
|
|
11
|
+
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#3.2.1',
|
|
12
|
+
solution: [{
|
|
13
|
+
info1: '1. Retrouver dans le document les textes et les textes en image sans effet de graisse d’une taille restituée inférieure à 24px qui pourraient poser des problèmes de contraste ;',
|
|
14
|
+
info2: '2. Pour chacun de ces textes, vérifier que : Soit le rapport de contraste entre le texte et son arrière-plan est de 4.5:1, au moins; Soit un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 4.5:1, au moins.',
|
|
15
|
+
info3: '3. Si c’est le cas pour chaque texte, le test est validé',
|
|
16
|
+
}],
|
|
17
|
+
expertise: ExpertiseLevelEnum.DEV,
|
|
18
|
+
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
{
|
|
25
|
+
title: 'Catégorie 10 : Présentation de l’information',
|
|
26
|
+
subtitle: '10.1 Dans le site web, des feuilles de styles sont-elles utilisées pour contrôler la présentation de l’information ? ?',
|
|
27
|
+
items: [
|
|
28
|
+
|
|
29
|
+
{
|
|
30
|
+
precision: '10.1.1 Dans chaque page web, les balises servant à la présentation de l’information ne doivent pas être présentes dans le code source généré des pages. Cette règle est-elle respectée ? ',
|
|
31
|
+
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#10.1.1',
|
|
32
|
+
solution: [{
|
|
33
|
+
info1: '1. Vérifier l’absence des éléments de présentation <basefont>, <big>, <blink>, <center>, <font>, <marquee>, <s>, <strike>, <tt> ; ',
|
|
34
|
+
info2: '2. Vérifier l’absence de l’élément <u> uniquement si le DOCTYPE du document ne correspond pas à HTML 5 ; ',
|
|
35
|
+
info3: '3. Si c’est le cas, le test est validé',
|
|
36
|
+
}],
|
|
37
|
+
expertise: ExpertiseLevelEnum.DEV,
|
|
38
|
+
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
export const AccessibiliteItemsValidated = [
|
|
47
|
+
{
|
|
48
|
+
title: 'Catégorie 1 : Images',
|
|
49
|
+
subtitle: '1.2 Chaque image de décoration est-elle correctement ignorée par les technologies d’assistance ?',
|
|
50
|
+
items: [
|
|
51
|
+
|
|
52
|
+
{
|
|
53
|
+
precision: '1.2.4 Chaque image vectorielle (balise <svg>) de décoration, sans légende, vérifie-t-elle ces conditions ?'
|
|
54
|
+
+ ' La balise <svg> possède un attribut WAI-ARIA aria-hidden="true" ;'
|
|
55
|
+
+ ' La balise <svg> et ses enfants sont dépourvus d’alternative textuelle ;'
|
|
56
|
+
+ ' Les balises <title> et <desc> sont absentes ou vides ;'
|
|
57
|
+
+ ' La balise <svg> et ses enfants sont dépourvus d’attribut title.',
|
|
58
|
+
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#1.2.4',
|
|
59
|
+
solution: [{
|
|
60
|
+
info1: '1. Retrouver dans le document les images décoratives dépourvues de légende structurées au moyen d’un élément <svg> ;',
|
|
61
|
+
info2: '2. Pour chaque image, vérifier que l’élément <svg> ne possède pas d’attributs aria-labelledby ou aria-label et qu’il :'
|
|
62
|
+
+ ' Possède un attribut WAI-ARIA aria-hidden="true" ;'
|
|
63
|
+
+ ' Et est dépourvu d’alternative textuelle (ainsi que ses éléments enfants) ;'
|
|
64
|
+
+ ' Et ne contient pas d’éléments <title> et <desc> à moins que vides de contenu ;'
|
|
65
|
+
+ ' Et est dépourvu d’attribut title (ainsi que ses éléments enfants).',
|
|
66
|
+
info3: '3. Si c’est le cas pour chaque image, le test est validé',
|
|
67
|
+
}],
|
|
68
|
+
expertise: ExpertiseLevelEnum.DESIGN,
|
|
69
|
+
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
],
|
|
73
|
+
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: 'Catégorie 3 : Couleurs',
|
|
77
|
+
subtitle: '3.2 Dans chaque page web, le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé?',
|
|
78
|
+
|
|
79
|
+
items: [
|
|
80
|
+
{
|
|
81
|
+
precision: '3.2.2 Dans chaque page web, le texte et le texte en image en gras d’une taille restituée inférieure à 18,5px vérifient-ils une de ces conditions (hors cas particuliers) ? Le rapport de contraste entre le texte et son arrière-plan est de 4.5:1, au moins ; Un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 4.5:1, au moins.',
|
|
82
|
+
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#3.2.2',
|
|
83
|
+
solution: [{
|
|
84
|
+
info1: '1. Retrouver dans le document les textes et les textes en image en gras d’une taille restituée inférieure à 18,5px qui pourraient poser des problèmes de contraste ; ',
|
|
85
|
+
info2: '2. Pour chacun de ces textes, vérifier que : Soit le rapport de contraste entre le texte et son arrière-plan est de 4.5:1, au moins ; Soit un mécanisme permet à l’utilisateur d’afficher le texte avec un rapport de contraste de 4.5:1, au moins.',
|
|
86
|
+
info3: '3. Si c’est le cas pour chaque texte, le test est validé',
|
|
87
|
+
}],
|
|
88
|
+
expertise: ExpertiseLevelEnum.DESIGN,
|
|
89
|
+
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
title: 'Catégorie 7 : Scripts',
|
|
96
|
+
subtitle: '7.1 Chaque script est-il, si nécessaire, compatible avec les technologies d’assistance ?',
|
|
97
|
+
items: [
|
|
98
|
+
|
|
99
|
+
{
|
|
100
|
+
precision: ' 7.1.3 Chaque script qui génère ou contrôle un composant d’interface vérifie-t-il ces conditions : '
|
|
101
|
+
+ 'Le composant possède un nom pertinent ;'
|
|
102
|
+
+ 'Le nom accessible du composant contient au moins l’intitulé visible ;'
|
|
103
|
+
+ 'Le composant possède un rôle pertinent.',
|
|
104
|
+
|
|
105
|
+
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#7.1.3',
|
|
106
|
+
solution: [{
|
|
107
|
+
info1: '1. Pour chacun des composants d’interface ayant validé le test 7.1.1, vérifier que le composant d’interface possède : ',
|
|
108
|
+
info2: '2. Un nom pertinent (intitulé visible) et un rôle pertinent',
|
|
109
|
+
info3: '3. Si le composant d’interface possède un nom accessible, vérifier que ce nom est pertinent et contient au moins l’intitulé visible.',
|
|
110
|
+
}],
|
|
111
|
+
expertise: ExpertiseLevelEnum.DESIGN,
|
|
112
|
+
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
title: 'Catégorie 8 : Eléments Obligatoires',
|
|
119
|
+
subtitle: '8.9 Dans chaque page web, les balises ne doivent pas être utilisées uniquement à des fins de présentation',
|
|
120
|
+
items: [
|
|
121
|
+
|
|
122
|
+
{
|
|
123
|
+
precision: ' 8.9.1 Dans chaque page web les balises (à l’exception de <div>, <span> et <table>) ne doivent pas être utilisées uniquement à des fins de présentation. Cette règle est-elle respectée',
|
|
124
|
+
link: 'https://accessibilite.numerique.gouv.fr/methode/criteres-et-tests/#8.9.1',
|
|
125
|
+
solution: [{
|
|
126
|
+
info1: '1. Retrouver dans le document l’ensemble des éléments sémantiques utilisés à des fins de présentation ;',
|
|
127
|
+
info2: '2. Pour chacun de ces éléments, vérifier que :'
|
|
128
|
+
+ 'L’élément est pourvu d’un attribut role=“presentation” ;'
|
|
129
|
+
+ 'L’utilisation de cet élément à des fins de présentation reste justifée',
|
|
130
|
+
info3: '3. Si c’est le cas, le test est validé',
|
|
131
|
+
}],
|
|
132
|
+
expertise: ExpertiseLevelEnum.DESIGN,
|
|
133
|
+
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
]
|