eaa-kit 0.4.0 → 0.6.0
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/README.md +66 -11
- package/dist/astro/index.d.ts +1 -1
- package/dist/astro/index.js +1 -1
- package/dist/audit/runners/worker.js +5 -1
- package/dist/audit-DK2StT1_.js +2 -0
- package/dist/{audit-CPoZMXGM.js → audit-e_uixhPG.js} +123 -54
- package/dist/baseline-BscHfFSW.js +2 -0
- package/dist/{baseline-DB9CZGnV.js → baseline-D2qWmUC6.js} +40 -12
- package/dist/checklist-BtgkxMEa.js +44 -0
- package/dist/cli/index.js +153 -25
- package/dist/{collect-CFM8gEVv.js → collect-Cu1q9NTB.js} +34 -3
- package/dist/command-CZKp9Wi_.js +251 -0
- package/dist/{remediation-Dtowi2EC.js → completeness-Dwq3CPB3.js} +61 -43
- package/dist/{component-C3GL1Mnu.js → component-ChisoFyY.js} +1 -1
- package/dist/{component-DKd3EHOg.js → component-DcCn3BJS.js} +1 -1
- package/dist/coverage-7bQqWNfN.js +2 -0
- package/dist/{coverage-B4IBKMO8.js → coverage-BD2_CYns.js} +46 -8
- package/dist/{crawl-BiI1Lau_.js → crawl-BHkJmUkA.js} +119 -11
- package/dist/eleventy/index.d.ts +1 -1
- package/dist/eleventy/index.js +1 -1
- package/dist/fingerprint-BjYV_0F7.js +67 -0
- package/dist/{html-BGTO3ypW.js → html-Bmh7X_sM.js} +52 -30
- package/dist/{impact-DZt2oBCP.js → impact-luGCnN8F.js} +11 -1
- package/dist/index.d.ts +187 -5
- package/dist/index.js +3 -3
- package/dist/{init-DIWDE35F.js → init-BjKYttxc.js} +10 -4
- package/dist/{jsdom-DCpGSLfW.js → jsdom-CQar6OQS.js} +12 -4
- package/dist/jsdom-DMvU2h-f.js +3 -0
- package/dist/{json-QQuFIw1W.js → json-HJDgJp09.js} +1 -1
- package/dist/{json-DjEvy1nX.js → json-PNg6BeXp.js} +13 -18
- package/dist/load-Bc_xDGAh.js +2 -0
- package/dist/{load-5wRGLvub.js → load-vZdV_fD1.js} +137 -8
- package/dist/nuxt/index.d.ts +1 -1
- package/dist/nuxt/index.js +1 -1
- package/dist/{playwright-BWniOain.js → playwright-C-miJP2b.js} +32 -7
- package/dist/{pool-BMevaLWD.js → pool-dkexq5xo.js} +52 -2
- package/dist/{render-DrvXRCEn.js → render-CtsqR0k-.js} +150 -11
- package/dist/{result-DoamKFsp.js → result-DfUru6y_.js} +60 -3
- package/dist/review-CdMK2GpQ.js +161 -0
- package/dist/review-DIbOTmOM.js +2 -0
- package/dist/{run-DB34BSOZ.js → run-D7hdVXLA.js} +1 -1
- package/dist/{run-BMASMmwO.d.ts → run-YiqyQA2b.d.ts} +17 -0
- package/dist/{sarif-SR3_lLYd.js → sarif-BKvq_AUm.js} +25 -14
- package/dist/{schema-is6CGX2D.js → schema-DJSF4K05.js} +15 -1
- package/dist/statement/templates/es.en.md +125 -0
- package/dist/statement/templates/es.es.md +127 -0
- package/dist/statement/templates/fr.en.md +128 -0
- package/dist/statement/templates/fr.fr.md +131 -0
- package/dist/statement/templates/it.en.md +127 -0
- package/dist/statement/templates/it.it.md +130 -0
- package/dist/statement/templates/nl.en.md +125 -0
- package/dist/statement/templates/nl.nl.md +127 -0
- package/dist/{text-CKKpzkYM.js → text-BF1LHMiV.js} +22 -2
- package/dist/vite/index.d.ts +1 -1
- package/dist/vite/index.js +1 -1
- package/dist/webpack/index.d.ts +1 -1
- package/dist/webpack/index.js +1 -1
- package/dist/worksheet-eUjwYLxC.js +63 -0
- package/package.json +7 -3
- package/dist/audit-CpXH2Mk8.js +0 -2
- package/dist/baseline-22Y1NWxM.js +0 -2
- package/dist/command-D8l_oYbV.js +0 -77
- package/dist/fingerprint-DRoneAjj.js +0 -20
- package/dist/jsdom-4IMzv0eE.js +0 -3
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { s as isImpactLevel } from "./impact-luGCnN8F.js";
|
|
2
|
+
import { s as standardsReference } from "./text-BF1LHMiV.js";
|
|
3
3
|
import { t as TOOL_VERSION } from "./version-B3v4rNoG.js";
|
|
4
|
-
import { t as elementFingerprint } from "./fingerprint-
|
|
5
|
-
import {
|
|
4
|
+
import { t as elementFingerprint } from "./fingerprint-BjYV_0F7.js";
|
|
5
|
+
import { c as runEngine, f as uniqueRuleOutcomes, o as findingElements } from "./result-DfUru6y_.js";
|
|
6
|
+
import { n as buildCoverage } from "./coverage-BD2_CYns.js";
|
|
6
7
|
import path from "node:path";
|
|
7
8
|
//#region src/audit/report/sarif.ts
|
|
8
9
|
const SARIF_VERSION = "2.1.0";
|
|
@@ -75,7 +76,7 @@ function buildSarifReport(audits, options) {
|
|
|
75
76
|
toolExecutionNotifications: notifications
|
|
76
77
|
}],
|
|
77
78
|
results,
|
|
78
|
-
properties: summaryProperties(audits, options.completeness)
|
|
79
|
+
properties: summaryProperties(audits, options.completeness, options.review)
|
|
79
80
|
}]
|
|
80
81
|
};
|
|
81
82
|
}
|
|
@@ -111,16 +112,11 @@ function toResults(finding, ruleIndex, uri, suppressions) {
|
|
|
111
112
|
* combines the fingerprint with the location itself.
|
|
112
113
|
*/
|
|
113
114
|
function fingerprint(ruleId, selector, html) {
|
|
114
|
-
return { "eaaKit/
|
|
115
|
+
return { "eaaKit/v2": elementFingerprint(ruleId, selector, html) };
|
|
115
116
|
}
|
|
116
117
|
/** Every rule the run knows about, so the catalogue is complete in GitHub. */
|
|
117
118
|
function buildRules(audits) {
|
|
118
|
-
|
|
119
|
-
for (const audit of audits) for (const outcome of ruleOutcomes(audit)) {
|
|
120
|
-
if (rules.has(outcome.ruleId)) continue;
|
|
121
|
-
rules.set(outcome.ruleId, toSarifRule(outcome));
|
|
122
|
-
}
|
|
123
|
-
return [...rules.values()].sort((a, b) => a.id.localeCompare(b.id));
|
|
119
|
+
return uniqueRuleOutcomes(audits).map(toSarifRule);
|
|
124
120
|
}
|
|
125
121
|
function toSarifRule(outcome) {
|
|
126
122
|
const references = standardsReference(outcome.successCriteria, outcome.enClauses);
|
|
@@ -140,7 +136,7 @@ function toSarifRule(outcome) {
|
|
|
140
136
|
* Coverage that has no place in `results` but should not vanish: a SARIF log
|
|
141
137
|
* with no results must not be mistaken for "everything was checked".
|
|
142
138
|
*/
|
|
143
|
-
function summaryProperties(audits, completeness) {
|
|
139
|
+
function summaryProperties(audits, completeness, review) {
|
|
144
140
|
let needsReview = 0;
|
|
145
141
|
let notEvaluated = 0;
|
|
146
142
|
const notEvaluatedRules = /* @__PURE__ */ new Set();
|
|
@@ -149,11 +145,12 @@ function summaryProperties(audits, completeness) {
|
|
|
149
145
|
notEvaluatedRules.add(finding.ruleId);
|
|
150
146
|
} else needsReview += 1;
|
|
151
147
|
return {
|
|
152
|
-
engine: audits
|
|
148
|
+
engine: runEngine(audits),
|
|
153
149
|
pages: audits.length,
|
|
154
150
|
needsReview,
|
|
155
151
|
notEvaluated,
|
|
156
152
|
notEvaluatedRules: [...notEvaluatedRules].sort(),
|
|
153
|
+
...review ? reviewProperties(audits, review) : {},
|
|
157
154
|
...completeness ? {
|
|
158
155
|
complete: completeness.complete,
|
|
159
156
|
discovery: completeness.discovery,
|
|
@@ -165,6 +162,20 @@ function summaryProperties(audits, completeness) {
|
|
|
165
162
|
};
|
|
166
163
|
}
|
|
167
164
|
/**
|
|
165
|
+
* The review as three counts, in the same shape the JSON report carries them.
|
|
166
|
+
*
|
|
167
|
+
* Counts only: this log's job is alerts, and the criterion-by-criterion detail
|
|
168
|
+
* belongs in the JSON report, which carries it in full.
|
|
169
|
+
*/
|
|
170
|
+
function reviewProperties(audits, review) {
|
|
171
|
+
const coverage = buildCoverage(audits, void 0, review);
|
|
172
|
+
return {
|
|
173
|
+
reviewedCriteria: coverage.reviewed,
|
|
174
|
+
reviewedNotMet: coverage.reviewedNotMet,
|
|
175
|
+
reviewNotCounted: coverage.reviewNotCounted
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
168
179
|
* Artifact URIs are relative to the working directory and POSIX-separated, so
|
|
169
180
|
* GitHub can line them up with files in the repository.
|
|
170
181
|
*/
|
|
@@ -70,6 +70,20 @@ function boolean() {
|
|
|
70
70
|
function number() {
|
|
71
71
|
return { read: (value, path, issues) => typeof value === "number" && Number.isFinite(value) ? value : fail(issues, path, "expected a number") };
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* A whole number, with an optional floor.
|
|
75
|
+
*
|
|
76
|
+
* `number` would accept 2.5 pages and a concurrency of 0, both of which the
|
|
77
|
+
* CLI's own parsers refuse. A config file is the same instruction typed
|
|
78
|
+
* somewhere else, so it is held to the same rule.
|
|
79
|
+
*/
|
|
80
|
+
function integer(options = {}) {
|
|
81
|
+
return { read: (value, path, issues) => {
|
|
82
|
+
if (typeof value !== "number" || !Number.isInteger(value)) return fail(issues, path, "expected a whole number");
|
|
83
|
+
if (options.min !== void 0 && value < options.min) return fail(issues, path, `must be ${options.min} or more`);
|
|
84
|
+
return value;
|
|
85
|
+
} };
|
|
86
|
+
}
|
|
73
87
|
/** One of a fixed set. The message lists them, since that is the useful part. */
|
|
74
88
|
function enumeration(values) {
|
|
75
89
|
return { read: (value, path, issues) => typeof value === "string" && values.includes(value) ? value : fail(issues, path, `expected one of ${values.join(", ")}`) };
|
|
@@ -192,4 +206,4 @@ function email() {
|
|
|
192
206
|
} };
|
|
193
207
|
}
|
|
194
208
|
//#endregion
|
|
195
|
-
export {
|
|
209
|
+
export { union as _, integer as a, nullable as c, optional as d, pipe as f, transform as g, string as h, enumeration as i, number as l, safeParse as m, boolean as n, isoDate as o, record as p, email as r, isoDateTime as s, array as t, object as u, url as v, withDefault as y };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Accessibility Statement
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} is committed to making the website {{ site.name }} accessible in
|
|
4
|
+
accordance with Ley 11/2023 of 8 May 2023, which transposes Directive (EU) 2019/882 (the
|
|
5
|
+
European Accessibility Act) into Spanish law. Its obligations for products and services
|
|
6
|
+
apply from 28 June 2025.
|
|
7
|
+
|
|
8
|
+
This accessibility statement applies to {{ site.url }}.
|
|
9
|
+
|
|
10
|
+
## Compliance status
|
|
11
|
+
|
|
12
|
+
{{#if compliance.isCompliant}}
|
|
13
|
+
This website is fully compliant with {{ compliance.standard }}.
|
|
14
|
+
{{/if}}
|
|
15
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
16
|
+
This website is partially compliant with {{ compliance.standard }}. The content listed in
|
|
17
|
+
the following section is not accessible, for the reasons given.
|
|
18
|
+
{{/if}}
|
|
19
|
+
{{#if compliance.isNonCompliant}}
|
|
20
|
+
This website is not compliant with {{ compliance.standard }}. The content listed in the
|
|
21
|
+
following section is not accessible, for the reasons given.
|
|
22
|
+
{{/if}}
|
|
23
|
+
|
|
24
|
+
## Non-accessible content
|
|
25
|
+
|
|
26
|
+
{{#if hasKnownIssues}}
|
|
27
|
+
{{#each compliance.knownIssues}}
|
|
28
|
+
- {{ description }}
|
|
29
|
+
{{#if standards}}
|
|
30
|
+
Requirement affected: {{ standards }}
|
|
31
|
+
{{/if}}
|
|
32
|
+
{{#if pageList}}
|
|
33
|
+
Pages affected: {{ pageList }}{{#if hasMorePages}} and {{ morePages }} more{{/if}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
{{#if isDisproportionateBurden}}
|
|
36
|
+
Reason: disproportionate burden.
|
|
37
|
+
{{/if}}
|
|
38
|
+
{{#if isOutOfScope}}
|
|
39
|
+
Reason: the content falls outside the scope of Ley 11/2023.
|
|
40
|
+
{{/if}}
|
|
41
|
+
{{#if isFixPlanned}}
|
|
42
|
+
Reason: the barrier is known and is being addressed.
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if remedyByFormatted}}
|
|
45
|
+
Expected to be resolved by: {{ remedyByFormatted }}
|
|
46
|
+
{{/if}}
|
|
47
|
+
{{#if isFromAudit}}
|
|
48
|
+
Detected by automated testing (axe-core, rule {{ ruleId }}); describe it in your own words.
|
|
49
|
+
{{/if}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if hasNoKnownIssues}}
|
|
53
|
+
No non-accessible content was known at the time of assessment.
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
56
|
+
## Preparation of this statement
|
|
57
|
+
|
|
58
|
+
This statement was prepared on {{ compliance.assessedOnFormatted }}.
|
|
59
|
+
|
|
60
|
+
{{#if compliance.isSelfAssessment}}
|
|
61
|
+
It is based on a self-assessment carried out by {{ provider.legalName }}.
|
|
62
|
+
{{/if}}
|
|
63
|
+
{{#if compliance.isExternalAudit}}
|
|
64
|
+
It is based on an assessment carried out by a third party.
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if audit.isSinglePage}}
|
|
68
|
+
The automated test run of {{ audit.checkedOnFormatted }} covered one page of this website.
|
|
69
|
+
{{/if}}
|
|
70
|
+
{{#if audit.isMultiPage}}
|
|
71
|
+
The automated test run of {{ audit.checkedOnFormatted }} covered {{ audit.pages }}
|
|
72
|
+
pages of this website.
|
|
73
|
+
{{/if}}
|
|
74
|
+
{{#if audit.needsReviewIsSingle}}
|
|
75
|
+
One further rule check requires a manual decision.
|
|
76
|
+
{{/if}}
|
|
77
|
+
{{#if audit.needsReviewIsPlural}}
|
|
78
|
+
{{ audit.needsReview }} further rule checks require a manual decision.
|
|
79
|
+
{{/if}}
|
|
80
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
81
|
+
One rule check could not be decided by the tool that was used; it is not reported as met.
|
|
82
|
+
{{/if}}
|
|
83
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
84
|
+
{{ audit.notEvaluated }} rule checks could not be decided by the tool that was used; they
|
|
85
|
+
are not reported as met.
|
|
86
|
+
{{/if}}
|
|
87
|
+
{{#if hasAudit}}
|
|
88
|
+
|
|
89
|
+
{{/if}}
|
|
90
|
+
The assessment relies in part on automated testing. Automated tools detect only a subset
|
|
91
|
+
of possible barriers; they are not a substitute for manual testing or for testing with
|
|
92
|
+
assistive technologies.
|
|
93
|
+
|
|
94
|
+
## Feedback and contact
|
|
95
|
+
|
|
96
|
+
Found a barrier, or need information in an accessible format? Please get in touch:
|
|
97
|
+
|
|
98
|
+
- Email: {{ provider.email }}
|
|
99
|
+
{{#if provider.feedbackUrl}}
|
|
100
|
+
- Contact form: {{ provider.feedbackUrl }}
|
|
101
|
+
{{/if}}
|
|
102
|
+
{{#if provider.phone}}
|
|
103
|
+
- Phone: {{ provider.phone }}
|
|
104
|
+
{{/if}}
|
|
105
|
+
{{#if provider.address}}
|
|
106
|
+
- Address: {{ provider.address }}
|
|
107
|
+
{{/if}}
|
|
108
|
+
|
|
109
|
+
We aim to respond to your feedback promptly.
|
|
110
|
+
|
|
111
|
+
## Enforcement procedure
|
|
112
|
+
|
|
113
|
+
If you are not satisfied with our response, you can complain to the competent market
|
|
114
|
+
surveillance authority. Ley 11/2023 divides that surveillance between the national
|
|
115
|
+
administration and the autonomous communities, so for a digital service the usual route is
|
|
116
|
+
the consumer authority of your autonomous community.
|
|
117
|
+
|
|
118
|
+
Public-sector websites and mobile applications are additionally governed by Real Decreto
|
|
119
|
+
1112/2018, which requires an accessibility statement with content of its own. This document
|
|
120
|
+
is not that statement.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
This statement was generated with eaa-kit and is not legal advice. Review it before
|
|
125
|
+
publishing, and have it checked by a lawyer if in doubt.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Declaración de accesibilidad
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} se compromete a hacer accesible el sitio web {{ site.name }}
|
|
4
|
+
conforme a la Ley 11/2023, de 8 de mayo, que traspone al ordenamiento español la Directiva
|
|
5
|
+
(UE) 2019/882 (European Accessibility Act). Sus obligaciones sobre productos y servicios
|
|
6
|
+
son aplicables desde el 28 de junio de 2025.
|
|
7
|
+
|
|
8
|
+
Esta declaración de accesibilidad se refiere a {{ site.url }}.
|
|
9
|
+
|
|
10
|
+
## Situación de cumplimiento
|
|
11
|
+
|
|
12
|
+
{{#if compliance.isCompliant}}
|
|
13
|
+
Este sitio web es plenamente conforme con {{ compliance.standard }}.
|
|
14
|
+
{{/if}}
|
|
15
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
16
|
+
Este sitio web es parcialmente conforme con {{ compliance.standard }}. Los contenidos que
|
|
17
|
+
se enumeran a continuación no son accesibles, por los motivos indicados.
|
|
18
|
+
{{/if}}
|
|
19
|
+
{{#if compliance.isNonCompliant}}
|
|
20
|
+
Este sitio web no es conforme con {{ compliance.standard }}. Los contenidos que se enumeran
|
|
21
|
+
a continuación no son accesibles, por los motivos indicados.
|
|
22
|
+
{{/if}}
|
|
23
|
+
|
|
24
|
+
## Contenido no accesible
|
|
25
|
+
|
|
26
|
+
{{#if hasKnownIssues}}
|
|
27
|
+
{{#each compliance.knownIssues}}
|
|
28
|
+
- {{ description }}
|
|
29
|
+
{{#if standards}}
|
|
30
|
+
Requisito afectado: {{ standards }}
|
|
31
|
+
{{/if}}
|
|
32
|
+
{{#if pageList}}
|
|
33
|
+
Páginas afectadas: {{ pageList }}{{#if hasMorePages}} y {{ morePages }} más{{/if}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
{{#if isDisproportionateBurden}}
|
|
36
|
+
Motivo: carga desproporcionada.
|
|
37
|
+
{{/if}}
|
|
38
|
+
{{#if isOutOfScope}}
|
|
39
|
+
Motivo: el contenido queda fuera del ámbito de aplicación de la Ley 11/2023.
|
|
40
|
+
{{/if}}
|
|
41
|
+
{{#if isFixPlanned}}
|
|
42
|
+
Motivo: la barrera es conocida y está en vías de corrección.
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if remedyByFormatted}}
|
|
45
|
+
Corrección prevista antes del: {{ remedyByFormatted }}
|
|
46
|
+
{{/if}}
|
|
47
|
+
{{#if isFromAudit}}
|
|
48
|
+
Detectado mediante análisis automático (axe-core, regla {{ ruleId }}); descríbalo con sus propias palabras.
|
|
49
|
+
{{/if}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if hasNoKnownIssues}}
|
|
53
|
+
En el momento de la evaluación no constaba contenido no accesible.
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
56
|
+
## Preparación de la presente declaración
|
|
57
|
+
|
|
58
|
+
Esta declaración se preparó el {{ compliance.assessedOnFormatted }}.
|
|
59
|
+
|
|
60
|
+
{{#if compliance.isSelfAssessment}}
|
|
61
|
+
Se basa en una autoevaluación realizada por {{ provider.legalName }}.
|
|
62
|
+
{{/if}}
|
|
63
|
+
{{#if compliance.isExternalAudit}}
|
|
64
|
+
Se basa en una evaluación realizada por un tercero.
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if audit.isSinglePage}}
|
|
68
|
+
El análisis automático del {{ audit.checkedOnFormatted }} abarcó una página de este sitio
|
|
69
|
+
web.
|
|
70
|
+
{{/if}}
|
|
71
|
+
{{#if audit.isMultiPage}}
|
|
72
|
+
El análisis automático del {{ audit.checkedOnFormatted }} abarcó {{ audit.pages }} páginas
|
|
73
|
+
de este sitio web.
|
|
74
|
+
{{/if}}
|
|
75
|
+
{{#if audit.needsReviewIsSingle}}
|
|
76
|
+
Otra comprobación de regla requiere una valoración manual.
|
|
77
|
+
{{/if}}
|
|
78
|
+
{{#if audit.needsReviewIsPlural}}
|
|
79
|
+
Otras {{ audit.needsReview }} comprobaciones de reglas requieren una valoración manual.
|
|
80
|
+
{{/if}}
|
|
81
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
82
|
+
En una comprobación de regla la herramienta empleada no alcanzó un resultado; no se
|
|
83
|
+
presenta como cumplida.
|
|
84
|
+
{{/if}}
|
|
85
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
86
|
+
En {{ audit.notEvaluated }} comprobaciones de reglas la herramienta empleada no alcanzó un
|
|
87
|
+
resultado; no se presentan como cumplidas.
|
|
88
|
+
{{/if}}
|
|
89
|
+
{{#if hasAudit}}
|
|
90
|
+
|
|
91
|
+
{{/if}}
|
|
92
|
+
La evaluación se apoya en parte en análisis automáticos. Las herramientas automáticas solo
|
|
93
|
+
detectan una parte de las barreras posibles; no sustituyen a una revisión manual ni a una
|
|
94
|
+
prueba con tecnologías de apoyo.
|
|
95
|
+
|
|
96
|
+
## Observaciones y datos de contacto
|
|
97
|
+
|
|
98
|
+
¿Ha encontrado una barrera, o necesita información en un formato accesible? Escríbanos:
|
|
99
|
+
|
|
100
|
+
- Correo electrónico: {{ provider.email }}
|
|
101
|
+
{{#if provider.feedbackUrl}}
|
|
102
|
+
- Formulario de contacto: {{ provider.feedbackUrl }}
|
|
103
|
+
{{/if}}
|
|
104
|
+
{{#if provider.phone}}
|
|
105
|
+
- Teléfono: {{ provider.phone }}
|
|
106
|
+
{{/if}}
|
|
107
|
+
{{#if provider.address}}
|
|
108
|
+
- Dirección: {{ provider.address }}
|
|
109
|
+
{{/if}}
|
|
110
|
+
|
|
111
|
+
Procuramos responder a su comunicación con prontitud.
|
|
112
|
+
|
|
113
|
+
## Procedimiento de aplicación
|
|
114
|
+
|
|
115
|
+
Si nuestra respuesta no le resulta satisfactoria, puede presentar una reclamación ante la
|
|
116
|
+
autoridad de vigilancia del mercado competente. La Ley 11/2023 reparte esa vigilancia entre
|
|
117
|
+
las administraciones competentes del Estado y de las comunidades autónomas, por lo que la
|
|
118
|
+
vía habitual para un servicio digital es el organismo de consumo de su comunidad autónoma.
|
|
119
|
+
|
|
120
|
+
Los sitios web y las aplicaciones móviles del sector público se rigen además por el Real
|
|
121
|
+
Decreto 1112/2018, que exige una declaración de accesibilidad de contenido propio. Este
|
|
122
|
+
documento no es esa declaración.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
Esta declaración se ha generado con eaa-kit y no constituye asesoramiento jurídico.
|
|
127
|
+
Revísela antes de publicarla y, en caso de duda, sométala a revisión jurídica.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Accessibility Statement
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} is committed to making the website {{ site.name }} accessible in
|
|
4
|
+
accordance with Ordonnance n° 2023-859 of 6 September 2023, which transposes Directive (EU)
|
|
5
|
+
2019/882 (the European Accessibility Act) into French law, and with Article 47 of Loi
|
|
6
|
+
n° 2005-102 of 11 February 2005.
|
|
7
|
+
|
|
8
|
+
This accessibility statement applies to {{ site.url }}.
|
|
9
|
+
|
|
10
|
+
## Compliance status
|
|
11
|
+
|
|
12
|
+
{{#if compliance.isCompliant}}
|
|
13
|
+
This website is fully compliant with {{ compliance.standard }}.
|
|
14
|
+
{{/if}}
|
|
15
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
16
|
+
This website is partially compliant with {{ compliance.standard }}. The content listed in
|
|
17
|
+
the following section is not accessible, for the reasons given.
|
|
18
|
+
{{/if}}
|
|
19
|
+
{{#if compliance.isNonCompliant}}
|
|
20
|
+
This website is not compliant with {{ compliance.standard }}. The content listed in the
|
|
21
|
+
following section is not accessible, for the reasons given.
|
|
22
|
+
{{/if}}
|
|
23
|
+
|
|
24
|
+
## Non-accessible content
|
|
25
|
+
|
|
26
|
+
{{#if hasKnownIssues}}
|
|
27
|
+
{{#each compliance.knownIssues}}
|
|
28
|
+
- {{ description }}
|
|
29
|
+
{{#if standards}}
|
|
30
|
+
Requirement affected: {{ standards }}
|
|
31
|
+
{{/if}}
|
|
32
|
+
{{#if pageList}}
|
|
33
|
+
Pages affected: {{ pageList }}{{#if hasMorePages}} and {{ morePages }} more{{/if}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
{{#if isDisproportionateBurden}}
|
|
36
|
+
Reason: disproportionate burden.
|
|
37
|
+
{{/if}}
|
|
38
|
+
{{#if isOutOfScope}}
|
|
39
|
+
Reason: the content falls outside the scope of these obligations.
|
|
40
|
+
{{/if}}
|
|
41
|
+
{{#if isFixPlanned}}
|
|
42
|
+
Reason: the barrier is known and is being addressed.
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if remedyByFormatted}}
|
|
45
|
+
Expected to be resolved by: {{ remedyByFormatted }}
|
|
46
|
+
{{/if}}
|
|
47
|
+
{{#if isFromAudit}}
|
|
48
|
+
Detected by automated testing (axe-core, rule {{ ruleId }}); describe it in your own words.
|
|
49
|
+
{{/if}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if hasNoKnownIssues}}
|
|
53
|
+
No non-accessible content was known at the time of assessment.
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
56
|
+
## Preparation of this statement
|
|
57
|
+
|
|
58
|
+
This statement was prepared on {{ compliance.assessedOnFormatted }}.
|
|
59
|
+
|
|
60
|
+
{{#if compliance.isSelfAssessment}}
|
|
61
|
+
It is based on a self-assessment carried out by {{ provider.legalName }}.
|
|
62
|
+
{{/if}}
|
|
63
|
+
{{#if compliance.isExternalAudit}}
|
|
64
|
+
It is based on an assessment carried out by a third party.
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if audit.isSinglePage}}
|
|
68
|
+
The automated test run of {{ audit.checkedOnFormatted }} covered one page of this website.
|
|
69
|
+
{{/if}}
|
|
70
|
+
{{#if audit.isMultiPage}}
|
|
71
|
+
The automated test run of {{ audit.checkedOnFormatted }} covered {{ audit.pages }}
|
|
72
|
+
pages of this website.
|
|
73
|
+
{{/if}}
|
|
74
|
+
{{#if audit.needsReviewIsSingle}}
|
|
75
|
+
One further rule check requires a manual decision.
|
|
76
|
+
{{/if}}
|
|
77
|
+
{{#if audit.needsReviewIsPlural}}
|
|
78
|
+
{{ audit.needsReview }} further rule checks require a manual decision.
|
|
79
|
+
{{/if}}
|
|
80
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
81
|
+
One rule check could not be decided by the tool that was used; it is not reported as met.
|
|
82
|
+
{{/if}}
|
|
83
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
84
|
+
{{ audit.notEvaluated }} rule checks could not be decided by the tool that was used; they
|
|
85
|
+
are not reported as met.
|
|
86
|
+
{{/if}}
|
|
87
|
+
{{#if hasAudit}}
|
|
88
|
+
|
|
89
|
+
{{/if}}
|
|
90
|
+
The assessment relies in part on automated testing. Automated tools detect only a subset
|
|
91
|
+
of possible barriers; they are not a substitute for manual testing or for testing with
|
|
92
|
+
assistive technologies.
|
|
93
|
+
|
|
94
|
+
## Feedback and contact
|
|
95
|
+
|
|
96
|
+
Found a barrier, or need information in an accessible format? Please get in touch:
|
|
97
|
+
|
|
98
|
+
- Email: {{ provider.email }}
|
|
99
|
+
{{#if provider.feedbackUrl}}
|
|
100
|
+
- Contact form: {{ provider.feedbackUrl }}
|
|
101
|
+
{{/if}}
|
|
102
|
+
{{#if provider.phone}}
|
|
103
|
+
- Phone: {{ provider.phone }}
|
|
104
|
+
{{/if}}
|
|
105
|
+
{{#if provider.address}}
|
|
106
|
+
- Address: {{ provider.address }}
|
|
107
|
+
{{/if}}
|
|
108
|
+
|
|
109
|
+
We aim to respond to your feedback promptly.
|
|
110
|
+
|
|
111
|
+
## Enforcement procedure
|
|
112
|
+
|
|
113
|
+
If you are not satisfied with our response, you can:
|
|
114
|
+
|
|
115
|
+
- write to the Défenseur des droits, or contact its delegate in your département:
|
|
116
|
+
https://www.defenseurdesdroits.fr
|
|
117
|
+
- report the failing to Arcom, which supervises the digital accessibility obligations of
|
|
118
|
+
Article 47 of Loi n° 2005-102: https://www.arcom.fr
|
|
119
|
+
|
|
120
|
+
If Article 47 applies to you — an online public service, or a company whose average
|
|
121
|
+
turnover in France over the last three closed financial years exceeds €250 million — your
|
|
122
|
+
accessibility statement must follow the RGAA model, rest on an RGAA audit, and be
|
|
123
|
+
accompanied by a multi-year accessibility plan. This document does not stand in for that.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
This statement was generated with eaa-kit and is not legal advice. Review it before
|
|
128
|
+
publishing, and have it checked by a lawyer if in doubt.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Déclaration d'accessibilité
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} s'engage à rendre le site {{ site.name }} accessible, conformément
|
|
4
|
+
à l'ordonnance n° 2023-859 du 6 septembre 2023, qui transpose en droit français la
|
|
5
|
+
directive (UE) 2019/882 (European Accessibility Act), et à l'article 47 de la loi
|
|
6
|
+
n° 2005-102 du 11 février 2005.
|
|
7
|
+
|
|
8
|
+
Cette déclaration d'accessibilité s'applique à {{ site.url }}.
|
|
9
|
+
|
|
10
|
+
## État de conformité
|
|
11
|
+
|
|
12
|
+
{{#if compliance.isCompliant}}
|
|
13
|
+
Ce site est totalement conforme à {{ compliance.standard }}.
|
|
14
|
+
{{/if}}
|
|
15
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
16
|
+
Ce site est partiellement conforme à {{ compliance.standard }}. Les contenus énumérés
|
|
17
|
+
ci-dessous ne sont pas accessibles, pour les motifs indiqués.
|
|
18
|
+
{{/if}}
|
|
19
|
+
{{#if compliance.isNonCompliant}}
|
|
20
|
+
Ce site n'est pas conforme à {{ compliance.standard }}. Les contenus énumérés ci-dessous ne
|
|
21
|
+
sont pas accessibles, pour les motifs indiqués.
|
|
22
|
+
{{/if}}
|
|
23
|
+
|
|
24
|
+
## Contenus non accessibles
|
|
25
|
+
|
|
26
|
+
{{#if hasKnownIssues}}
|
|
27
|
+
{{#each compliance.knownIssues}}
|
|
28
|
+
- {{ description }}
|
|
29
|
+
{{#if standards}}
|
|
30
|
+
Exigence concernée : {{ standards }}
|
|
31
|
+
{{/if}}
|
|
32
|
+
{{#if pageList}}
|
|
33
|
+
Pages concernées : {{ pageList }}{{#if hasMorePages}} et {{ morePages }} autres{{/if}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
{{#if isDisproportionateBurden}}
|
|
36
|
+
Motif : charge disproportionnée.
|
|
37
|
+
{{/if}}
|
|
38
|
+
{{#if isOutOfScope}}
|
|
39
|
+
Motif : le contenu n'entre pas dans le champ d'application de ces obligations.
|
|
40
|
+
{{/if}}
|
|
41
|
+
{{#if isFixPlanned}}
|
|
42
|
+
Motif : la barrière est connue et sa correction est engagée.
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if remedyByFormatted}}
|
|
45
|
+
Correction prévue avant le : {{ remedyByFormatted }}
|
|
46
|
+
{{/if}}
|
|
47
|
+
{{#if isFromAudit}}
|
|
48
|
+
Détecté par un test automatisé (axe-core, règle {{ ruleId }}) ; à reformuler dans vos propres mots.
|
|
49
|
+
{{/if}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if hasNoKnownIssues}}
|
|
53
|
+
Aucun contenu non accessible n'était connu au moment de l'évaluation.
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
56
|
+
## Établissement de cette déclaration
|
|
57
|
+
|
|
58
|
+
Cette déclaration a été établie le {{ compliance.assessedOnFormatted }}.
|
|
59
|
+
|
|
60
|
+
{{#if compliance.isSelfAssessment}}
|
|
61
|
+
Elle repose sur une auto-évaluation réalisée par {{ provider.legalName }}.
|
|
62
|
+
{{/if}}
|
|
63
|
+
{{#if compliance.isExternalAudit}}
|
|
64
|
+
Elle repose sur une évaluation réalisée par un tiers.
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if audit.isSinglePage}}
|
|
68
|
+
Le test automatisé du {{ audit.checkedOnFormatted }} a porté sur une page de ce site.
|
|
69
|
+
{{/if}}
|
|
70
|
+
{{#if audit.isMultiPage}}
|
|
71
|
+
Le test automatisé du {{ audit.checkedOnFormatted }} a porté sur {{ audit.pages }} pages de
|
|
72
|
+
ce site.
|
|
73
|
+
{{/if}}
|
|
74
|
+
{{#if audit.needsReviewIsSingle}}
|
|
75
|
+
Une autre vérification de règle demande une appréciation humaine.
|
|
76
|
+
{{/if}}
|
|
77
|
+
{{#if audit.needsReviewIsPlural}}
|
|
78
|
+
{{ audit.needsReview }} autres vérifications de règles demandent une appréciation humaine.
|
|
79
|
+
{{/if}}
|
|
80
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
81
|
+
Une vérification de règle n'a pu être tranchée par l'outil utilisé ; elle n'est pas
|
|
82
|
+
présentée comme satisfaite.
|
|
83
|
+
{{/if}}
|
|
84
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
85
|
+
{{ audit.notEvaluated }} vérifications de règles n'ont pu être tranchées par l'outil
|
|
86
|
+
utilisé ; elles ne sont pas présentées comme satisfaites.
|
|
87
|
+
{{/if}}
|
|
88
|
+
{{#if hasAudit}}
|
|
89
|
+
|
|
90
|
+
{{/if}}
|
|
91
|
+
L'évaluation repose en partie sur des tests automatisés. Les outils automatisés ne
|
|
92
|
+
détectent qu'une partie des barrières possibles ; ils ne remplacent ni un test manuel ni un
|
|
93
|
+
test avec des technologies d'assistance.
|
|
94
|
+
|
|
95
|
+
## Retour d'information et contact
|
|
96
|
+
|
|
97
|
+
Vous avez rencontré une barrière, ou vous avez besoin d'une information sous une forme
|
|
98
|
+
accessible ? Écrivez-nous :
|
|
99
|
+
|
|
100
|
+
- Courriel : {{ provider.email }}
|
|
101
|
+
{{#if provider.feedbackUrl}}
|
|
102
|
+
- Formulaire de contact : {{ provider.feedbackUrl }}
|
|
103
|
+
{{/if}}
|
|
104
|
+
{{#if provider.phone}}
|
|
105
|
+
- Téléphone : {{ provider.phone }}
|
|
106
|
+
{{/if}}
|
|
107
|
+
{{#if provider.address}}
|
|
108
|
+
- Adresse : {{ provider.address }}
|
|
109
|
+
{{/if}}
|
|
110
|
+
|
|
111
|
+
Nous nous efforçons de répondre à votre message dans les meilleurs délais.
|
|
112
|
+
|
|
113
|
+
## Voies de recours
|
|
114
|
+
|
|
115
|
+
Si votre demande reste sans réponse satisfaisante, vous pouvez :
|
|
116
|
+
|
|
117
|
+
- écrire au Défenseur des droits, ou contacter le délégué du Défenseur des droits de votre
|
|
118
|
+
département : https://www.defenseurdesdroits.fr
|
|
119
|
+
- signaler le manquement à l'Arcom, qui contrôle les obligations d'accessibilité numérique
|
|
120
|
+
de l'article 47 de la loi n° 2005-102 : https://www.arcom.fr
|
|
121
|
+
|
|
122
|
+
Si vous relevez de cet article 47 — service public en ligne, ou entreprise dont le chiffre
|
|
123
|
+
d'affaires moyen réalisé en France sur les trois derniers exercices clos dépasse
|
|
124
|
+
250 millions d'euros — votre déclaration d'accessibilité doit suivre le modèle du RGAA,
|
|
125
|
+
s'appuyer sur un audit RGAA et s'accompagner d'un schéma pluriannuel de mise en
|
|
126
|
+
accessibilité. Le présent document n'en tient pas lieu.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
Cette déclaration a été générée avec eaa-kit et ne constitue pas un conseil juridique.
|
|
131
|
+
Relisez-la avant publication et faites-la vérifier par un juriste en cas de doute.
|