@cnamts/synapse 1.0.25 → 1.0.26

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.
Files changed (211) hide show
  1. package/dist/{AutocompleteFilter-D7qBuCAP.js → AutocompleteFilter-BPR-a55G.js} +1 -1
  2. package/dist/{DateFilter-BitMWrMU.js → DateFilter-CknrJWs2.js} +2 -2
  3. package/dist/{NumberFilter-BTLUxw0a.js → NumberFilter-DJ-yNlzv.js} +1 -1
  4. package/dist/{PeriodFilter-B5rUIPAC.js → PeriodFilter-CiB5Oa9Z.js} +1 -1
  5. package/dist/{SelectFilter-l4QnRcuk.js → SelectFilter-EiafX97M.js} +1 -1
  6. package/dist/{TextFilter-C9hj6Qrp.js → TextFilter-BzOmpdxj.js} +1 -1
  7. package/dist/{apLightTheme-DnIM24Lv.js → apLightTheme-DS0Uy44H.js} +20 -16
  8. package/dist/components/Customs/Selects/SyAutocomplete/SyAutocomplete.d.ts +4 -2
  9. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +60 -289
  10. package/dist/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.d.ts +1 -0
  11. package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +1 -0
  12. package/dist/components/Customs/SyRadioGroup/SyRadioGroup.d.ts +1 -0
  13. package/dist/components/Customs/SyTextField/SyTextField.d.ts +2 -4
  14. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +50 -49
  15. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +29 -28
  16. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +8 -8
  17. package/dist/components/DatePicker/composables/useDatePickerState.d.ts +3 -3
  18. package/dist/components/DatePicker/composables/useDateTextField.d.ts +2 -2
  19. package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +2 -2
  20. package/dist/components/DatePicker/types.d.ts +1 -2
  21. package/dist/components/LunarCalendar/useLunarCalendarValidation.d.ts +1 -0
  22. package/dist/components/MonthPicker/MonthPicker.d.ts +1 -1
  23. package/dist/components/MonthPicker/MonthPickerText/MonthPickerInput.d.ts +1 -1
  24. package/dist/components/NirField/NirField.d.ts +8 -4
  25. package/dist/components/NirField/useNirValidation.d.ts +6 -2
  26. package/dist/components/PeriodField/PeriodField.d.ts +102 -102
  27. package/dist/components/PhoneField/PhoneField.d.ts +11 -1
  28. package/dist/components/RangeField/RangeSlider/RangeSlider.d.ts +0 -3
  29. package/dist/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +3 -1
  30. package/dist/components/RatingPicker/NumberPicker/NumberPicker.d.ts +4 -3
  31. package/dist/components/RatingPicker/RatingPicker.d.ts +18 -5
  32. package/dist/components/RatingPicker/StarsPicker/StarsPicker.d.ts +3 -1
  33. package/dist/components/RatingPicker/tests/RatingPicker.a11y.spect.d.ts +1 -0
  34. package/dist/components/RatingPicker/useRatingFocus.d.ts +18 -0
  35. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +4 -4
  36. package/dist/components/Tables/SyTable/SyTable.d.ts +4 -4
  37. package/dist/components/Tables/common/SyTablePagination.d.ts +152 -364
  38. package/dist/components/Tables/common/TableHeader.d.ts +1 -1
  39. package/dist/components/Tables/common/filters/DateFilter.d.ts +4 -4
  40. package/dist/composables/date/useDateInitializationDayjs.d.ts +3 -1
  41. package/dist/composables/unifyValidation/useCustomValidation.d.ts +3 -1
  42. package/dist/composables/unifyValidation/useValidation.d.ts +12 -6
  43. package/dist/composables/unifyValidation/useVuetifyValidation.d.ts +1 -1
  44. package/dist/composables/validation/useValidation.d.ts +1 -0
  45. package/dist/design-system-v3.js +2 -2
  46. package/dist/designTokens/tokens/amelipro/apLightTheme.d.ts +2 -0
  47. package/dist/designTokens/tokens/cnam/cnamLightTheme.d.ts +2 -0
  48. package/dist/{main-Cpx8Co6H.js → main-BsJ9ec3i.js} +9103 -9018
  49. package/dist/synapse.css +1 -1
  50. package/dist/vuetifyConfig.js +1 -1
  51. package/package.json +8 -7
  52. package/src/assets/overrides/_icons.scss +0 -13
  53. package/src/assets/overrides/_otp.scss +0 -1
  54. package/src/components/Accordion/Accordion.vue +2 -0
  55. package/src/components/CookiesSelection/CookiesInformation/CookiesInformation.vue +2 -1
  56. package/src/components/CookiesSelection/CookiesSelection.vue +2 -1
  57. package/src/components/CopyBtn/CopyBtn.vue +9 -0
  58. package/src/components/Customs/Selects/SyAutocomplete/SyAutocomplete.vue +1 -1
  59. package/src/components/Customs/Selects/SySelect/SySelect.stories.ts +413 -96
  60. package/src/components/Customs/Selects/SySelect/SySelect.vue +270 -225
  61. package/src/components/Customs/Selects/SySelect/tests/SySelect.spec.ts +245 -6
  62. package/src/components/Customs/SyCheckBoxGroup/SyCheckBoxGroup.vue +3 -3
  63. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +23 -2
  64. package/src/components/Customs/SyRadioGroup/SyRadioGroup.vue +23 -5
  65. package/src/components/Customs/SyTabs/SyTabs.stories.ts +5 -5
  66. package/src/components/Customs/SyTabs/config.ts +3 -3
  67. package/src/components/Customs/SyTextField/SyTextField.vue +31 -4
  68. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +1 -1
  69. package/src/components/DatePicker/CalendarMode/DatePicker.vue +17 -14
  70. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1 -1
  71. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +8 -7
  72. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +1 -1
  73. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.stories.ts +1 -1
  74. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +57 -23
  75. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +1 -1
  76. package/src/components/DatePicker/composables/useDatePickerState.ts +33 -14
  77. package/src/components/DatePicker/composables/useDateRangeInput.ts +2 -1
  78. package/src/components/DatePicker/composables/useDateSelection.ts +2 -1
  79. package/src/components/DatePicker/composables/useDateTextField.ts +2 -2
  80. package/src/components/DatePicker/composables/useInputBlurHandler.ts +2 -2
  81. package/src/components/DatePicker/types.ts +1 -2
  82. package/src/components/DialogBox/DialogBox.stories.ts +8 -8
  83. package/src/components/DialogBox/accessibilite/Accessibility.mdx +86 -22
  84. package/src/components/FilterSideBar/FilterSideBar.vue +2 -1
  85. package/src/components/LangBtn/LangBtn.vue +2 -1
  86. package/src/components/NotificationBar/Notification/Notification.vue +2 -2
  87. package/src/components/PaginatedTable/PaginatedTable.vue +1 -1
  88. package/src/components/PaginatedTable/Pagination.vue +1 -1
  89. package/src/components/PasswordField/PasswordField.vue +7 -3
  90. package/src/components/PhoneField/PhoneField.vue +4 -2
  91. package/src/components/RangeField/RangeSlider/RangeSlider.vue +11 -18
  92. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +32 -48
  93. package/src/components/RatingPicker/EmotionPicker/tests/__snapshots__/EmotionPicker.spec.ts.snap +5 -0
  94. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +48 -53
  95. package/src/components/RatingPicker/NumberPicker/tests/NumberPicker.spec.ts +2 -1
  96. package/src/components/RatingPicker/NumberPicker/tests/__snapshots__/NumberPicker.spec.ts.snap +40 -13
  97. package/src/components/RatingPicker/RatingPicker.stories.ts +65 -88
  98. package/src/components/RatingPicker/RatingPicker.vue +71 -15
  99. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +28 -37
  100. package/src/components/RatingPicker/StarsPicker/tests/StarsPicker.spec.ts +1 -1
  101. package/src/components/RatingPicker/StarsPicker/tests/__snapshots__/StarsPicker.spec.ts.snap +5 -0
  102. package/src/components/RatingPicker/accessibilite/Accessibility.mdx +137 -9
  103. package/src/components/RatingPicker/tests/RatingPicker.a11y.spect.ts +123 -0
  104. package/src/components/RatingPicker/tests/RatingPicker.spec.ts +3 -2
  105. package/src/components/RatingPicker/tests/__snapshots__/RatingPicker.spec.ts.snap +40 -11
  106. package/src/components/RatingPicker/useRatingFocus.ts +97 -0
  107. package/src/components/SyTextArea/SyTextArea.vue +32 -1
  108. package/src/components/Tables/SyServerTable/SyServerTable.vue +1 -1
  109. package/src/components/Tables/SyTable/SyTable.vue +1 -1
  110. package/src/components/Tables/common/SyTableFilter.vue +4 -4
  111. package/src/components/Tables/common/SyTablePagination.vue +1 -0
  112. package/src/components/Tables/common/TableHeader.vue +1 -1
  113. package/src/components/Tables/common/filters/DateFilter.vue +2 -2
  114. package/src/composables/date/tests/useDateFormatDayjs.spec.ts +81 -0
  115. package/src/composables/date/tests/{useDateInitialization.spec.ts → useDateInitializationDayjs.spec.ts} +39 -3
  116. package/src/composables/date/useDateInitializationDayjs.ts +4 -1
  117. package/src/composables/unifyValidation/documentationValidationProps.ts +7 -7
  118. package/src/composables/unifyValidation/tests/useCustomValidation.spec.ts +2 -1
  119. package/src/composables/unifyValidation/tests/useValidation.spec.ts +22 -0
  120. package/src/composables/unifyValidation/useCustomValidation.ts +16 -4
  121. package/src/composables/unifyValidation/useValidation.ts +46 -15
  122. package/src/composables/unifyValidation/useVuetifyValidation.ts +2 -2
  123. package/src/composables/useFormFieldErrorHandling.ts +4 -1
  124. package/src/composables/validation/tests/useValidation.spec.ts +2 -2
  125. package/src/composables/validation/useValidation.ts +15 -3
  126. package/src/composantsVuetify/VCard/VCard.mdx +59 -0
  127. package/src/composantsVuetify/VCard/v-card.stories.ts +279 -0
  128. package/src/designTokens/tokens/amelipro/apColors2026.ts +1 -1
  129. package/src/designTokens/tokens/amelipro/apLightTheme.ts +3 -0
  130. package/src/designTokens/tokens/cnam/cnamLightTheme.ts +3 -0
  131. package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +61 -91
  132. package/src/stories/Accessibilite/AuditDesignSystem.mdx +5 -8
  133. package/src/stories/Accessibilite/AuditEtContreAudit/Exemptions-derogations.mdx +1 -1
  134. package/src/stories/Accessibilite/AuditEtContreAudit/Introduction.mdx +11 -8
  135. package/src/stories/Accessibilite/AuditEtContreAudit/RGAA.mdx +6 -7
  136. package/src/stories/Accessibilite/Introduction.mdx +30 -30
  137. package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +168 -78
  138. package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +13 -6
  139. package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +66 -45
  140. package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +23 -49
  141. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/FauxPositifs.stories.ts +6 -0
  142. package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru/Utilisation.mdx +7 -19
  143. package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +18 -20
  144. package/src/stories/Components/Components.stories.ts +52 -3
  145. package/dist/AutocompleteFilter-Df9i5mAl.cjs +0 -1
  146. package/dist/DateFilter-BJD6FMev.cjs +0 -1
  147. package/dist/NumberFilter-DGCzCXzI.cjs +0 -1
  148. package/dist/PeriodFilter-DO_ecTZW.cjs +0 -1
  149. package/dist/SelectFilter-CGwcKWLm.cjs +0 -1
  150. package/dist/TextFilter-B8nf7xoK.cjs +0 -1
  151. package/dist/apLightTheme-CEK4iY3f.cjs +0 -1
  152. package/dist/composables/date/useDateFormat.d.ts +0 -26
  153. package/dist/composables/date/useDateInitialization.d.ts +0 -18
  154. package/dist/design-system-v3.umd.cjs +0 -1
  155. package/dist/main-ByDPHpae.cjs +0 -1067
  156. package/dist/tooth-11-D3sLWv2n.cjs +0 -1
  157. package/dist/tooth-12-CXrLuH03.cjs +0 -1
  158. package/dist/tooth-13-BSfo5fpT.cjs +0 -1
  159. package/dist/tooth-14-DMzulx0h.cjs +0 -1
  160. package/dist/tooth-15-BKRFVi-9.cjs +0 -1
  161. package/dist/tooth-16-CpuxAbuM.cjs +0 -1
  162. package/dist/tooth-17-BPoahUdg.cjs +0 -1
  163. package/dist/tooth-18-DhHJz8sy.cjs +0 -1
  164. package/dist/tooth-21-Dgd5hn_X.cjs +0 -1
  165. package/dist/tooth-22-C2Tn19sB.cjs +0 -1
  166. package/dist/tooth-23-C9uaaSGb.cjs +0 -1
  167. package/dist/tooth-24-BrK9UGpf.cjs +0 -1
  168. package/dist/tooth-25-CE_EfGNp.cjs +0 -1
  169. package/dist/tooth-26-Ctv4i9Fy.cjs +0 -1
  170. package/dist/tooth-27-C5J7JkWM.cjs +0 -1
  171. package/dist/tooth-28-Z9oWqjo0.cjs +0 -1
  172. package/dist/tooth-31-BrYqmkTi.cjs +0 -1
  173. package/dist/tooth-32-BNNR0oCZ.cjs +0 -1
  174. package/dist/tooth-33-DuxvqO2J.cjs +0 -1
  175. package/dist/tooth-34-BCSCXMB6.cjs +0 -1
  176. package/dist/tooth-35-BLUXkX88.cjs +0 -1
  177. package/dist/tooth-36-IrKHYqlA.cjs +0 -1
  178. package/dist/tooth-37-BYqpdMwo.cjs +0 -1
  179. package/dist/tooth-38-B_eNXXdu.cjs +0 -1
  180. package/dist/tooth-41-Ddva4Ot8.cjs +0 -1
  181. package/dist/tooth-42-szcDqlM0.cjs +0 -1
  182. package/dist/tooth-43-B3ka6rQm.cjs +0 -1
  183. package/dist/tooth-44-CazyQucj.cjs +0 -1
  184. package/dist/tooth-45-B4HQtc8n.cjs +0 -1
  185. package/dist/tooth-46-BPM40gbG.cjs +0 -1
  186. package/dist/tooth-47-Dvr20dlh.cjs +0 -1
  187. package/dist/tooth-48-Bd8ljGsF.cjs +0 -1
  188. package/dist/tooth-51-OBpwCOF3.cjs +0 -1
  189. package/dist/tooth-52-aKxyHcmq.cjs +0 -1
  190. package/dist/tooth-53-vCwJjTOc.cjs +0 -1
  191. package/dist/tooth-54-DsWu2iFy.cjs +0 -1
  192. package/dist/tooth-55-BxC1X2Dn.cjs +0 -1
  193. package/dist/tooth-61-BbLvxMQi.cjs +0 -1
  194. package/dist/tooth-62-CmTkWczP.cjs +0 -1
  195. package/dist/tooth-63-DI7l_2qI.cjs +0 -1
  196. package/dist/tooth-64-B21sOsJh.cjs +0 -1
  197. package/dist/tooth-65-D2ZC2VEr.cjs +0 -1
  198. package/dist/tooth-71-D473PPO5.cjs +0 -1
  199. package/dist/tooth-72-Drh1wnNu.cjs +0 -1
  200. package/dist/tooth-73-DzlwYI23.cjs +0 -1
  201. package/dist/tooth-74-8aGvcZPg.cjs +0 -1
  202. package/dist/tooth-75-BFK7At_r.cjs +0 -1
  203. package/dist/tooth-81-BZmR-I0M.cjs +0 -1
  204. package/dist/tooth-82-euVfUUZV.cjs +0 -1
  205. package/dist/tooth-83-KV010j64.cjs +0 -1
  206. package/dist/tooth-84-BBg1RjhZ.cjs +0 -1
  207. package/dist/tooth-85-Cr-kc1wM.cjs +0 -1
  208. package/dist/vuetifyConfig.umd.cjs +0 -1
  209. package/src/composables/date/tests/useDateFormat.spec.ts +0 -67
  210. package/src/composables/date/useDateFormat.ts +0 -110
  211. package/src/composables/date/useDateInitialization.ts +0 -92
@@ -14,15 +14,12 @@ import '../../styles/shared.css';
14
14
  padding: 1.5rem;
15
15
  margin-bottom: 1.5rem;
16
16
  border-radius: 4px;
17
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
18
17
  }
19
18
 
20
19
  .section-container {
21
- margin: 2rem 0;
22
20
  padding: 1.5rem;
23
21
  background-color: #fff;
24
22
  border-radius: 8px;
25
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
26
23
  }
27
24
 
28
25
  .section-container h2 {
@@ -43,48 +40,25 @@ import '../../styles/shared.css';
43
40
 
44
41
  border-radius: 3px;
45
42
  }
46
-
47
- .pages-list {
48
- background-color: #f0f7ff;
49
- border-radius: 8px;
50
- padding: 1.5rem;
51
- margin: 1.5rem 0;
52
- }
53
-
54
- .pages-list h3 {
55
- margin-top: 0;
56
- color: #0c419a;
57
- position: relative;
58
- padding-bottom: 0.75rem;
59
- }
60
-
61
- .pages-list h3::after {
62
- content: '';
63
- position: absolute;
64
- bottom: -10px;
65
- left: 0;
66
- width: 80px;
67
- height: 4px;
68
-
69
- border-radius: 3px;
70
- }
43
+
71
44
 
72
45
  .pages-list ul {
73
- padding-left: 1.5rem;
74
- margin-bottom: 0;
46
+ list-style: none;
47
+ padding: 0;
48
+ margin: 0;
75
49
  }
76
50
 
77
51
  .pages-list li {
78
- margin-bottom: 0.5rem;
79
- position: relative;
52
+ padding: 0.4rem 0;
53
+ font-size: 0.9rem;
54
+ color: #3d3d3d;
55
+ line-height: 1.5;
56
+ list-style: none;
80
57
  }
81
-
82
- .exemption-card {
83
- background-color: #f8f9fa;
84
- border-left: 4px solid #0c419a;
85
- padding: 1.5rem;
86
- margin: 1.5rem 0;
87
- border-radius: 4px;
58
+
59
+ .pages-list li strong {
60
+ font-size: 0.95rem;
61
+ margin-right: 0.25rem;
88
62
  }
89
63
 
90
64
  .exemption-item {
@@ -97,7 +71,8 @@ import '../../styles/shared.css';
97
71
  background-color: #e3e8f2;
98
72
  border-left: 4px solid #0c419a;
99
73
  padding: 1rem 1.5rem;
100
- margin: 1.5rem 0;
74
+ margin-bottom:1.5rem;
75
+ margin-top:0.5rem;
101
76
  border-radius: 4px;
102
77
  }
103
78
 
@@ -108,18 +83,62 @@ import '../../styles/shared.css';
108
83
  font-weight: 500;
109
84
  }
110
85
 
86
+ .exemption-grid {
87
+ display: grid;
88
+ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
89
+ gap: 1rem;
90
+ margin-top: 1.5rem;
91
+ }
92
+
93
+ .exemption-card {
94
+ background-color: #fff;
95
+ border-radius: 8px;
96
+ border: 1px solid #eaeaea;
97
+ padding: 1.25rem 1.5rem;
98
+ }
99
+
100
+ .exemption-card strong {
101
+ display: block;
102
+ color: #0c419a;
103
+ margin-bottom: 0.4rem;
104
+ font-size: 0.95rem;
105
+ }
106
+
107
+ .exemption-card p {
108
+ margin: 0;
109
+ font-size: 0.9rem;
110
+ color: #3d3d3d;
111
+ }
112
+
111
113
  .derogation-grid {
112
114
  display: grid;
113
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
115
+ grid-template-columns: 1fr 1fr;
114
116
  gap: 1.5rem;
115
117
  margin-top: 1.5rem;
116
118
  }
117
-
119
+
120
+ .derogation-card--full {
121
+ grid-column: 1 / -1;
122
+ }
123
+
118
124
  .derogation-card {
119
- background-color: white;
125
+ background-color: #fff;
120
126
  border-radius: 8px;
121
- padding: 1.5rem;
122
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
127
+ border: 1px solid #eaeaea;
128
+ padding: 1.25rem 1.5rem;
129
+ }
130
+
131
+ .derogation-card h4 {
132
+ color: #0c419a;
133
+ margin-top: 0;
134
+ margin-bottom: 0.4rem;
135
+ font-size: 0.95rem;
136
+ }
137
+
138
+ .derogation-card p {
139
+ margin: 0;
140
+ font-size: 0.9rem;
141
+ color: #3d3d3d;
123
142
  }
124
143
 
125
144
  h2 {
@@ -127,6 +146,34 @@ import '../../styles/shared.css';
127
146
  color: #0c419a !important;
128
147
  font-size: 1.6rem !important;
129
148
  }
149
+
150
+ .alert {
151
+ background-color: #e3e8f2;
152
+ border-left: 4px solid #0c419a;
153
+ padding: 1rem 1.5rem;
154
+ margin: 1.5rem 0;
155
+ border-radius: 4px;
156
+ }
157
+ .official-doc-box {
158
+ background-color: #fff8e5;
159
+ padding: 1rem 1.5rem;
160
+ margin: 1.5rem 0;
161
+ border-radius: 4px;
162
+ }
163
+
164
+ .official-doc-box p {
165
+ margin: 0.5rem 0;
166
+ color: #3d3d3d;
167
+ font-size: 0.95rem;
168
+ }
169
+
170
+ .official-doc-box a {
171
+ color: #0c419a;
172
+ font-weight: 600;
173
+ text-decoration: underline;
174
+ text-underline-offset: 0.2em;
175
+ }
176
+
130
177
  `
131
178
  }
132
179
  </style>
@@ -137,17 +184,16 @@ import '../../styles/shared.css';
137
184
  Si vous êtes au démarrage de votre projet, il est difficile d'établir l'échantillonnage. Utilisez donc le kit de pré-audit de manière systématique sur chaque nouveau développement afin d'éviter une dette d'accessibilité lors de l'échantillonnage. </p>
138
185
  </div>
139
186
 
140
- <div className="info-card">
187
+ <div className="alert">
141
188
  <p><span className="highlight">Le <abbr title="Référentiel Général d'Amélioration de l'Accessibilité">RGAA</abbr></span> exige que l'audit d'accessibilité soit effectué sur un ensemble représentatif de pages et des fonctionnalités de votre service. Il serait difficile et très chronophage de tester l'intégralité des contenus. La définition d'un périmètre est un compromis pertinent pour auditer efficacement un service et respecter les exigences légales.</p>
142
189
 
143
190
  <p><strong>L'objectif est donc que vous déterminiez quelles pages seront concernées par l'audit (et ce pré-audit).</strong></p>
144
191
  </div>
145
192
 
146
193
  <div className="section-container">
147
- <h2>📝 Pages à auditer</h2>
194
+ <h2>Pages obligatoires à auditer</h2>
148
195
 
149
196
  <div className="pages-list">
150
- <h3>Pages obligatoires</h3>
151
197
  <ul>
152
198
  <li><strong>Accueil</strong> - Point d'entrée principal du service</li>
153
199
  <li><strong>Contact</strong> - Informations permettant de contacter l'organisme</li>
@@ -160,43 +206,87 @@ Si vous êtes au démarrage de votre projet, il est difficile d'établir l'écha
160
206
  <li><strong>Documents téléchargeables</strong> - Au moins 1 document pertinent</li>
161
207
  <li><strong>Processus complets</strong> - L'ensemble des pages constituant un processus (ex: un formulaire sur plusieurs pages)</li>
162
208
  <li><strong>Pages distinctes</strong> - Des exemples de pages ayant un aspect sensiblement distinct ou présentant un type de contenu différent (ex : page contenant des tableaux de données, des éléments multimédias, des illustrations, des formulaires, etc.)</li>
209
+ <li><strong>Enfin, s’ajoutent des pages sélectionnées au hasard représentant au moins 10 % des pages de l’échantillon</strong>.</li>
163
210
  </ul>
164
211
  </div>
165
212
  </div>
213
+ <div className="note-box">
214
+ <p><strong>Conseil d'échantillonnage :</strong> Le nombre de visiteurs par page ainsi que l'importance metier peuvent être pris en compte lors de la constitution des 10 % des pages sélectionnées au hasard de l'échantillon.</p>
215
+ </div>
166
216
 
167
- <div className="section-container">
168
- <h2>🚫 Exemptions</h2>
169
-
170
- <div className="exemption-card">
171
- <p><strong>Contenus exemptés de l'obligation d'accessibilité :</strong></p>
172
-
173
- <div className="exemption-item"><strong>Fichiers bureautiques anciens</strong> - Formats publiés avant le 23 septembre 2018, sauf s'ils sont nécessaires à l'accomplissement d'une démarche administrative.</div>
174
-
175
- <div className="exemption-item"><strong>Contenus audio/vidéo préenregistrés</strong> - Y compris ceux comprenant des composants interactifs, publiés avant le 23 septembre 2020.</div>
176
-
177
- <div className="exemption-item"><strong>Contenus audio/vidéo en direct</strong> - Y compris ceux comprenant des composants interactifs.</div>
178
-
179
- <div className="exemption-item"><strong>Cartes et services de cartographie</strong> - Sous réserve que les informations essentielles soient fournies sous une forme numérique accessible pour les cartes de localisation ou d'itinéraire.</div>
180
-
181
- <div className="exemption-item"><strong>Contenus de tiers</strong> - Qui ne sont ni financés ni développés par l'organisme concerné et qui ne sont pas sous son contrôle.</div>
182
-
183
- <div className="exemption-item"><strong>Collections patrimoniales</strong> - Qui ne peuvent être rendues totalement accessibles en raison :</div>
184
- <div className="exemption-item" style={{paddingLeft: '2.5rem'}}>• De l'incompatibilité des exigences avec la préservation ou l'authenticité de la reproduction.</div>
185
- <div className="exemption-item" style={{paddingLeft: '2.5rem'}}>• De l'indisponibilité de solutions automatisées et économiques pour la transcription.</div>
186
-
187
- <div className="exemption-item"><strong>Intranets et extranets anciens</strong> - Publiés avant le 23 septembre 2019, jusqu'à révision en profondeur.</div>
188
-
189
- <div className="exemption-item"><strong>Contenus non essentiels ou archivés</strong> - Sites et applications qui ne sont ni nécessaires à l'accomplissement d'une démarche administrative active ni mis à jour après le 23 septembre 2019.</div>
190
- </div>
217
+ <div className="official-doc-box">
218
+ <p>
219
+ <strong>Référence officielle :</strong> les contenus exemptés de l'obligation
220
+ d'accessibilité et les dérogations pour charge disproportionnée sont définis
221
+ dans le champ d'application du RGAA.
222
+ </p>
223
+
224
+ <p>
225
+ Les éléments présentés ci-dessous sont fournis à titre d'exemples et d'aide
226
+ à l'analyse dans le cadre du pré-audit. Ils ne remplacent pas la documentation
227
+ officielle, qui reste la source de référence.
228
+ </p>
229
+
230
+ <p>
231
+ Consulter la documentation officielle :{' '}
232
+ <a
233
+ href="https://accessibilite.numerique.gouv.fr/obligations/champ-application/"
234
+ target="_blank"
235
+ rel="noreferrer"
236
+ >
237
+ Champ d'application du RGAA contenus exemptés et dérogations
238
+ </a>
239
+ </p>
191
240
  </div>
192
241
 
193
- <div className="note-box">
194
- <p>💡 <strong>Conseil d'échantillonnage :</strong> Le nombre de visiteurs par page peut être pris en compte lors de la constitution de l'échantillon.</p>
195
- <p>Ajoutez à votre sélection des pages choisies au hasard représentant <span className="highlight">au moins 10% de l'échantillon total</span>.</p>
242
+ <div>
243
+ <h2>Contenus exemptés de l'obligation d'accessibilité :</h2>
244
+
245
+ <div className="exemption-grid">
246
+ <div className="exemption-card">
247
+ <strong>📄 Fichiers bureautiques anciens</strong>
248
+ <p>Formats publiés avant le 23 septembre 2018, sauf s'ils sont nécessaires à l'accomplissement d'une démarche administrative.</p>
249
+ </div>
250
+
251
+ <div className="exemption-card">
252
+ <strong>🎬 Contenus audio/vidéo préenregistrés</strong>
253
+ <p>Y compris ceux comprenant des composants interactifs, publiés avant le 23 septembre 2020.</p>
254
+ </div>
255
+
256
+ <div className="exemption-card">
257
+ <strong>📡 Contenus audio/vidéo en direct</strong>
258
+ <p>Y compris ceux comprenant des composants interactifs.</p>
259
+ </div>
260
+
261
+ <div className="exemption-card">
262
+ <strong>🗺️ Cartes et services de cartographie</strong>
263
+ <p>Sous réserve que les informations essentielles soient fournies sous une forme numérique accessible pour les cartes de localisation ou d'itinéraire.</p>
264
+ </div>
265
+
266
+ <div className="exemption-card">
267
+ <strong>🤝 Contenus de tiers</strong>
268
+ <p>Qui ne sont ni financés ni développés par l'organisme concerné et qui ne sont pas sous son contrôle.</p>
269
+ </div>
270
+
271
+ <div className="exemption-card">
272
+ <strong>🏛️ Collections patrimoniales</strong>
273
+ <p>Qui ne peuvent être rendues totalement accessibles en raison de l'incompatibilité des exigences avec la préservation ou l'authenticité de la reproduction, ou de l'indisponibilité de solutions automatisées et économiques pour la transcription.</p>
274
+ </div>
275
+
276
+ <div className="exemption-card">
277
+ <strong>🏢 Intranets et extranets anciens</strong>
278
+ <p>Publiés avant le 23 septembre 2019, jusqu'à révision en profondeur.</p>
279
+ </div>
280
+
281
+ <div className="exemption-card">
282
+ <strong>📦 Contenus non essentiels ou archivés</strong>
283
+ <p>Sites et applications qui ne sont ni nécessaires à l'accomplissement d'une démarche administrative active ni mis à jour après le 23 septembre 2019.</p>
284
+ </div>
285
+ </div>
196
286
  </div>
197
287
 
198
288
  <div className="section-container">
199
- <h2>⚖️ Dérogations</h2>
289
+ <h2>Dérogations</h2>
200
290
 
201
291
  <p>Il existe un système de dérogation dans la mise en conformité d'un service numérique : <span className="highlight">la charge disproportionnée</span>.</p>
202
292
 
@@ -211,9 +301,9 @@ Si vous êtes au démarrage de votre projet, il est difficile d'établir l'écha
211
301
  <p>L'absence de priorité, le manque de temps ou de connaissance <strong>ne sont pas</strong> des circonstances légitimes de dérogations.</p>
212
302
  </div>
213
303
 
214
- <div className="derogation-card">
304
+ <div className="derogation-card derogation-card--full">
215
305
  <h4>✅ Procédure</h4>
216
- <p>Cette dérogation doit être justifiée, documentée et nécessite un accord auprès du comité de gouvernance de l'accessibilité numérique (en attendant sa création, c'est la Filière Digital qui en a le mandat).</p>
306
+ <p>Cette dérogation doit être justifiée, documentée et nécessite un accord auprès du comité de gouvernance de l'accessibilité numérique (en attendant sa création, c'est le Studio Design qui en a le mandat).</p>
217
307
  <p>Des solutions alternatives doivent être proposées pour garantir un accès maximal aux utilisateurs en situation de handicap.</p>
218
308
  </div>
219
309
  </div>
@@ -42,7 +42,7 @@ import '../../styles/shared.css';
42
42
 
43
43
  .resources-grid {
44
44
  display: grid;
45
- grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
45
+ grid-template-columns: 1fr 1fr;
46
46
  gap: 1.5rem;
47
47
  margin: 2rem 0;
48
48
  }
@@ -141,6 +141,13 @@ import '../../styles/shared.css';
141
141
  height: 3px;
142
142
  border-radius: 3px;
143
143
  }
144
+
145
+ h2 {
146
+ margin-top: 2rem;
147
+ color: #0c419a !important;
148
+ font-weight: bold !important;
149
+ font-size: 1.5rem !important;
150
+ }
144
151
  `
145
152
  }
146
153
  </style>
@@ -151,7 +158,7 @@ import '../../styles/shared.css';
151
158
  </div>
152
159
 
153
160
  <div className="info-section">
154
- <h2>🌟 Objectif</h2>
161
+ <h2>Objectif</h2>
155
162
 
156
163
  <p>Le kit de pré-audit peut être utilisé de deux façons :</p>
157
164
 
@@ -235,10 +242,10 @@ import '../../styles/shared.css';
235
242
  <h3>Résultat du pré-audit manuel</h3>
236
243
  <p>Complété avec un onglet par page.</p>
237
244
  </div>
238
- </div>
239
245
 
240
- <div className="info-section">
241
- <h3>Annexes</h3>
242
- <p>Pour chaque page testée, il sera demandé de restituer un rapport Tanaguru complet.</p>
246
+ <div className="resource-card">
247
+ <h3>Annexes</h3>
248
+ <p>Pour chaque page testée, il sera demandé de constituer un rapport des non conformitees.</p>
249
+ </div>
243
250
  </div>
244
251
  </div>
@@ -68,6 +68,8 @@ import '../../../styles/shared.css';
68
68
  padding: 1.5rem;
69
69
  position: relative;
70
70
  overflow: hidden;
71
+ border: 1px solid #ccc;
72
+ border-radius: var(--border-radius-md);
71
73
  }
72
74
 
73
75
  .tool-card::before {
@@ -113,9 +115,50 @@ import '../../../styles/shared.css';
113
115
  border-radius: 3px;
114
116
  }
115
117
 
116
- .tool-card-title-tanaguru p {
117
- font-size: 1.2rem !important;
118
- font-weight: bold !important;
118
+ .tool-card-title-tanaguru {
119
+ color: #0c419a;
120
+ font-size: 1.15rem;
121
+ font-weight: 700;
122
+ margin-top: 0;
123
+ margin-bottom: 0.75rem;
124
+ }
125
+
126
+ .tanaguru-layout {
127
+ display: grid;
128
+ grid-template-columns: 1fr 1fr;
129
+ gap: 1.5rem;
130
+ align-items: start;
131
+ }
132
+
133
+ .tanaguru-chips {
134
+ display: flex;
135
+ flex-wrap: wrap;
136
+ gap: 0.5rem;
137
+ margin-top: 0.75rem;
138
+ }
139
+
140
+ .tanaguru-chip {
141
+ background-color: #eef3fb;
142
+ color: #0c419a;
143
+ font-size: 0.8rem;
144
+ font-weight: 500;
145
+ padding: 0.3rem 0.75rem;
146
+ border-radius: 20px;
147
+ border: 1px solid #c7d8f5;
148
+ }
149
+
150
+ .tanaguru-note {
151
+ background-color: #fff8ee;
152
+ border-left: 3px solid #b45309;
153
+ padding: 0.85rem 1rem;
154
+ border-radius: 4px;
155
+ font-size: 0.875rem;
156
+ color: #3d3d3d;
157
+ line-height: 1.5;
158
+ }
159
+
160
+ .tanaguru-note strong {
161
+ color: #b45309;
119
162
  }
120
163
 
121
164
  .tool-card-icon {
@@ -290,49 +333,27 @@ import '../../../styles/shared.css';
290
333
  <section className="section">
291
334
  <h2 className="section-title">Outil principal</h2>
292
335
 
293
- <div className="tool-card">
336
+ <div className="">
294
337
  <div className="tool-card-content">
295
- <h3 className="tool-card-title-tanaguru">
296
- Tanaguru webext RGAA
297
- </h3>
298
-
299
- <p className="tool-card-description">
300
- Extension Firefox conçue pour faciliter l'audit d'accessibilité des sites web selon le <strong>Référentiel Général d'Amélioration de l'Accessibilité (RGAA)</strong>. Elle permet de vérifier, directement depuis votre navigateur, la conformité de pages web aux critères d'accessibilité.
301
- </p>
302
-
303
- <div className="info-box">
304
- <p>
305
- <strong>Fonctionnalités principales :</strong>
306
- </p>
307
- <ul className="modern-list">
308
- <li className="modern-list-item">
309
- <span className="modern-list-icon" role="img" aria-hidden="true">✓</span>
310
- <span>Évaluation rapide des problèmes d'accessibilité (contrastes, alternatives textuelles, structure HTML)</span>
311
- </li>
312
- <li className="modern-list-item">
313
- <span className="modern-list-icon" role="img" aria-hidden="true">✓</span>
314
- <span>Affichage direct des erreurs avec suggestions d'amélioration</span>
315
- </li>
316
- <li className="modern-list-item">
317
- <span className="modern-list-icon" role="img" aria-hidden="true">✓</span>
318
- <span>Audit instantané pour développeurs et testeurs d'accessibilité</span>
319
- </li>
320
- </ul>
321
- </div>
322
-
323
- <div className="warning-box">
324
- <p>
325
- <strong>Attention :</strong> Ce service ne permet pas d'évaluer l'ensemble des 106 critères du RGAA, uniquement ceux qui sont automatisables. Un audit d'accessibilité ne peut pas se reposer uniquement sur des outils automatisés car ces derniers ne détectent qu'un nombre limité de problèmes techniques.
326
- </p>
327
- <p>
328
- De nombreux critères d'accessibilité nécessitent une évaluation manuelle, tenant compte de la perception humaine et du contexte d'utilisation. Sur les 258 tests du RGAA, Tanaguru estime qu'environ 100 tests ne sont pas automatisés.
329
- </p>
338
+ <h3 className="tool-card-title-tanaguru">Tanaguru webext RGAA</h3>
339
+
340
+ <div className="tanaguru-layout">
341
+ <div>
342
+ <p className="tool-card-description">Extension Firefox pour vérifier la conformité de vos pages aux critères du <strong>RGAA</strong>, directement depuis le navigateur.</p>
343
+ <div className="tanaguru-chips">
344
+ <span className="tanaguru-chip">Contrastes</span>
345
+ <span className="tanaguru-chip">Alternatives textuelles</span>
346
+ <span className="tanaguru-chip">Structure HTML</span>
347
+ <span className="tanaguru-chip">158 tests sur 258</span>
348
+ </div>
349
+ <a href="/docs/accessibilité-kit-de-pré-audit-outils-tanaguru--docs" className="tool-card-link" style={{marginTop: '1.25rem'}}>
350
+ Guide d'utilisation →
351
+ </a>
352
+ </div>
353
+ <div className="tanaguru-note">
354
+ <strong>Limite :</strong> Tanaguru couvre uniquement les critères automatisables. Les critères restants nécessitent une vérification manuelle — un audit ne peut pas reposer uniquement sur des outils automatisés.
355
+ </div>
330
356
  </div>
331
-
332
- <a href="/docs/accessibilité-kit-de-pré-audit-outils-tanaguru--docs" className="tool-card-link">
333
- Guide d'utilisation de Tanaguru
334
- <span className="tool-card-link-icon" role="img" aria-hidden="true">→</span>
335
- </a>
336
357
  </div>
337
358
  </div>
338
359
  </section>
@@ -494,7 +515,7 @@ import '../../../styles/shared.css';
494
515
  <div className="tool-card-content">
495
516
  <h3 className="tool-card-title">
496
517
  <span className="tool-card-icon" role="img" aria-hidden="true">✅</span>
497
- Check-list du designer
518
+ rapport de pre-audit du designer
498
519
  </h3>
499
520
  <p className="tool-card-description">
500
521
  Checklist d'accessibilité disponible sur le site Design Accessible. Propose une liste de critères à vérifier pour garantir l'accessibilité des sites web.