eaa-kit 0.1.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/LICENSE +21 -0
- package/README.md +102 -0
- package/dist/astro/index.d.ts +90 -0
- package/dist/astro/index.js +48 -0
- package/dist/audit/runners/worker.d.ts +1 -0
- package/dist/audit/runners/worker.js +27 -0
- package/dist/audit-6gbV0Zjd.js +582 -0
- package/dist/audit-VtuUOuyX.js +2 -0
- package/dist/baseline-DQTnNlc4.js +169 -0
- package/dist/baseline-Itspu3-Y.js +2 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +259 -0
- package/dist/escape-Dm1o_RAk.js +21 -0
- package/dist/fingerprint-DRoneAjj.js +20 -0
- package/dist/html-BLEuzep6.js +337 -0
- package/dist/impact-DvgBjupx.js +32 -0
- package/dist/impact-EEB9ZXmC.d.ts +7 -0
- package/dist/index.d.ts +264 -0
- package/dist/index.js +2 -0
- package/dist/jsdom-BEu6Ra_2.js +163 -0
- package/dist/jsdom-C6dIyaxN.js +3 -0
- package/dist/json-1ESNIiHY.js +139 -0
- package/dist/playwright-BfWuTG_u.js +235 -0
- package/dist/pool-DixLeu8L.js +188 -0
- package/dist/render-K9KxDDSA.js +774 -0
- package/dist/result-2aZPfM8w.js +168 -0
- package/dist/sarif-eSCuI0eX.js +192 -0
- package/dist/statement/templates/at.de.md +127 -0
- package/dist/statement/templates/at.en.md +121 -0
- package/dist/statement/templates/ch.de.md +138 -0
- package/dist/statement/templates/ch.en.md +135 -0
- package/dist/statement/templates/de.de.md +129 -0
- package/dist/statement/templates/de.en.md +125 -0
- package/dist/version-B3v4rNoG.js +15 -0
- package/package.json +95 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Erklärung zur Barrierefreiheit
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} ist bemüht, die Website {{ site.name }} barrierefrei zugänglich
|
|
4
|
+
zu machen. Massgebend sind das Bundesgesetz über die Beseitigung von Benachteiligungen von
|
|
5
|
+
Menschen mit Behinderungen (Behindertengleichstellungsgesetz, BehiG, SR 151.3) und der
|
|
6
|
+
Accessibility Standard eCH-0059.
|
|
7
|
+
|
|
8
|
+
Die Schweiz ist nicht Mitglied der EU. Die Richtlinie (EU) 2019/882 (European
|
|
9
|
+
Accessibility Act) gilt hier nicht unmittelbar. Wer Produkte oder Dienstleistungen in der
|
|
10
|
+
EU anbietet, kann ihr dennoch unterliegen.
|
|
11
|
+
|
|
12
|
+
Diese Erklärung zur Barrierefreiheit gilt für {{ site.url }}.
|
|
13
|
+
|
|
14
|
+
## Stand der Vereinbarkeit mit den Anforderungen
|
|
15
|
+
|
|
16
|
+
{{#if compliance.isCompliant}}
|
|
17
|
+
Diese Website ist mit {{ compliance.standard }} vollständig vereinbar.
|
|
18
|
+
{{/if}}
|
|
19
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
20
|
+
Diese Website ist mit {{ compliance.standard }} teilweise vereinbar. Die im folgenden
|
|
21
|
+
Abschnitt aufgeführten Inhalte sind aus den jeweils genannten Gründen nicht barrierefrei.
|
|
22
|
+
{{/if}}
|
|
23
|
+
{{#if compliance.isNonCompliant}}
|
|
24
|
+
Diese Website ist mit {{ compliance.standard }} nicht vereinbar. Die im folgenden Abschnitt
|
|
25
|
+
aufgeführten Inhalte sind aus den jeweils genannten Gründen nicht barrierefrei.
|
|
26
|
+
{{/if}}
|
|
27
|
+
|
|
28
|
+
## Nicht barrierefreie Inhalte
|
|
29
|
+
|
|
30
|
+
{{#if hasKnownIssues}}
|
|
31
|
+
{{#each compliance.knownIssues}}
|
|
32
|
+
- {{ description }}
|
|
33
|
+
{{#if standards}}
|
|
34
|
+
Betroffene Anforderung: {{ standards }}
|
|
35
|
+
{{/if}}
|
|
36
|
+
{{#if pageList}}
|
|
37
|
+
Betroffene Seiten: {{ pageList }}{{#if hasMorePages}} und {{ morePages }} weitere{{/if}}
|
|
38
|
+
{{/if}}
|
|
39
|
+
{{#if isDisproportionateBurden}}
|
|
40
|
+
Grund: unverhältnismäßige Belastung.
|
|
41
|
+
{{/if}}
|
|
42
|
+
{{#if isOutOfScope}}
|
|
43
|
+
Grund: der Inhalt fällt nicht in den Anwendungsbereich des BehiG.
|
|
44
|
+
{{/if}}
|
|
45
|
+
{{#if isFixPlanned}}
|
|
46
|
+
Grund: die Barriere ist bekannt und wird behoben.
|
|
47
|
+
{{/if}}
|
|
48
|
+
{{#if remedyByFormatted}}
|
|
49
|
+
Geplante Behebung bis: {{ remedyByFormatted }}
|
|
50
|
+
{{/if}}
|
|
51
|
+
{{#if isFromAudit}}
|
|
52
|
+
Automatisiert erkannt (axe-core, Regel {{ ruleId }}); bitte in eigenen Worten beschreiben.
|
|
53
|
+
{{/if}}
|
|
54
|
+
{{/each}}
|
|
55
|
+
{{/if}}
|
|
56
|
+
{{#if hasNoKnownIssues}}
|
|
57
|
+
Zum Zeitpunkt der Prüfung sind keine nicht barrierefreien Inhalte bekannt.
|
|
58
|
+
{{/if}}
|
|
59
|
+
|
|
60
|
+
## Erstellung dieser Erklärung
|
|
61
|
+
|
|
62
|
+
Diese Erklärung wurde am {{ compliance.assessedOnFormatted }} erstellt.
|
|
63
|
+
|
|
64
|
+
{{#if compliance.isSelfAssessment}}
|
|
65
|
+
Grundlage ist eine Selbstbewertung durch {{ provider.legalName }}.
|
|
66
|
+
{{/if}}
|
|
67
|
+
{{#if compliance.isExternalAudit}}
|
|
68
|
+
Grundlage ist eine Prüfung durch Dritte.
|
|
69
|
+
{{/if}}
|
|
70
|
+
|
|
71
|
+
{{#if audit.isSinglePage}}
|
|
72
|
+
Die automatisierte Prüfung vom {{ audit.checkedOnFormatted }} umfasste eine Seite dieser
|
|
73
|
+
Website.
|
|
74
|
+
{{/if}}
|
|
75
|
+
{{#if audit.isMultiPage}}
|
|
76
|
+
Die automatisierte Prüfung vom {{ audit.checkedOnFormatted }} umfasste {{ audit.pages }}
|
|
77
|
+
Seiten dieser Website.
|
|
78
|
+
{{/if}}
|
|
79
|
+
{{#if audit.needsReviewIsSingle}}
|
|
80
|
+
Bei einer weiteren Regelprüfung ist eine manuelle Beurteilung erforderlich.
|
|
81
|
+
{{/if}}
|
|
82
|
+
{{#if audit.needsReviewIsPlural}}
|
|
83
|
+
Bei {{ audit.needsReview }} weiteren Regelprüfungen ist eine manuelle Beurteilung
|
|
84
|
+
erforderlich.
|
|
85
|
+
{{/if}}
|
|
86
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
87
|
+
Bei einer Regelprüfung erreichte das verwendete Werkzeug kein Ergebnis; sie wird nicht als
|
|
88
|
+
erfüllt ausgewiesen.
|
|
89
|
+
{{/if}}
|
|
90
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
91
|
+
Bei {{ audit.notEvaluated }} Regelprüfungen erreichte das verwendete Werkzeug kein
|
|
92
|
+
Ergebnis; sie werden nicht als erfüllt ausgewiesen.
|
|
93
|
+
{{/if}}
|
|
94
|
+
{{#if hasAudit}}
|
|
95
|
+
|
|
96
|
+
{{/if}}
|
|
97
|
+
Die Bewertung stützt sich unter anderem auf eine automatisierte Prüfung. Automatisierte
|
|
98
|
+
Werkzeuge erkennen nur einen Teil der möglichen Barrieren; sie ersetzen keine manuelle
|
|
99
|
+
Prüfung und keine Prüfung mit assistiven Technologien.
|
|
100
|
+
|
|
101
|
+
## Feedback und Kontaktangaben
|
|
102
|
+
|
|
103
|
+
Sie haben eine Barriere gefunden oder benötigen Informationen in einer barrierefreien
|
|
104
|
+
Form? Melden Sie sich bitte bei uns:
|
|
105
|
+
|
|
106
|
+
- E-Mail: {{ provider.email }}
|
|
107
|
+
{{#if provider.feedbackUrl}}
|
|
108
|
+
- Kontaktformular: {{ provider.feedbackUrl }}
|
|
109
|
+
{{/if}}
|
|
110
|
+
{{#if provider.phone}}
|
|
111
|
+
- Telefon: {{ provider.phone }}
|
|
112
|
+
{{/if}}
|
|
113
|
+
{{#if provider.address}}
|
|
114
|
+
- Anschrift: {{ provider.address }}
|
|
115
|
+
{{/if}}
|
|
116
|
+
|
|
117
|
+
Wir bemühen uns, Ihre Rückmeldung zeitnah zu beantworten.
|
|
118
|
+
|
|
119
|
+
## Beschwerdeverfahren
|
|
120
|
+
|
|
121
|
+
Die Schweiz kennt für die Websites privater Anbieter keine Marktüberwachungsstelle, an
|
|
122
|
+
die eine Beschwerde gerichtet werden könnte.
|
|
123
|
+
|
|
124
|
+
Wenn Sie mit unserer Antwort nicht zufrieden sind, stehen Ihnen die Rechtsansprüche des
|
|
125
|
+
BehiG offen. Wer durch eine öffentlich angebotene Dienstleistung benachteiligt wird, kann
|
|
126
|
+
nach Artikel 8 BehiG das Gericht anrufen; Behindertenorganisationen können nach Artikel 9
|
|
127
|
+
BehiG in eigenem Namen klagen.
|
|
128
|
+
|
|
129
|
+
Allgemeine Auskünfte zur Gleichstellung von Menschen mit Behinderungen erteilt das
|
|
130
|
+
Eidgenössische Büro für die Gleichstellung von Menschen mit Behinderungen (EBGB).
|
|
131
|
+
|
|
132
|
+
Eidgenössisches Büro für die Gleichstellung von Menschen mit Behinderungen (EBGB)
|
|
133
|
+
https://www.ebgb.admin.ch
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
Diese Erklärung wurde mit eaa-kit erstellt und ist keine Rechtsberatung. Prüfen Sie den
|
|
138
|
+
Inhalt vor der Veröffentlichung und lassen Sie ihn im Zweifel rechtlich prüfen.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Accessibility Statement
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} is committed to making the website {{ site.name }} accessible.
|
|
4
|
+
The applicable rules are the Swiss Disability Discrimination Act (Bundesgesetz über die
|
|
5
|
+
Beseitigung von Benachteiligungen von Menschen mit Behinderungen,
|
|
6
|
+
Behindertengleichstellungsgesetz, BehiG, SR 151.3) and the eCH-0059 Accessibility
|
|
7
|
+
Standard.
|
|
8
|
+
|
|
9
|
+
Switzerland is not a member of the EU. Directive (EU) 2019/882 (the European
|
|
10
|
+
Accessibility Act) does not apply here directly, although a provider offering products or
|
|
11
|
+
services in the EU may still fall under it.
|
|
12
|
+
|
|
13
|
+
This accessibility statement applies to {{ site.url }}.
|
|
14
|
+
|
|
15
|
+
## Compliance status
|
|
16
|
+
|
|
17
|
+
{{#if compliance.isCompliant}}
|
|
18
|
+
This website is fully compliant with {{ compliance.standard }}.
|
|
19
|
+
{{/if}}
|
|
20
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
21
|
+
This website is partially compliant with {{ compliance.standard }}. The content listed in
|
|
22
|
+
the following section is not accessible, for the reasons given.
|
|
23
|
+
{{/if}}
|
|
24
|
+
{{#if compliance.isNonCompliant}}
|
|
25
|
+
This website is not compliant with {{ compliance.standard }}. The content listed in the
|
|
26
|
+
following section is not accessible, for the reasons given.
|
|
27
|
+
{{/if}}
|
|
28
|
+
|
|
29
|
+
## Non-accessible content
|
|
30
|
+
|
|
31
|
+
{{#if hasKnownIssues}}
|
|
32
|
+
{{#each compliance.knownIssues}}
|
|
33
|
+
- {{ description }}
|
|
34
|
+
{{#if standards}}
|
|
35
|
+
Requirement affected: {{ standards }}
|
|
36
|
+
{{/if}}
|
|
37
|
+
{{#if pageList}}
|
|
38
|
+
Pages affected: {{ pageList }}{{#if hasMorePages}} and {{ morePages }} more{{/if}}
|
|
39
|
+
{{/if}}
|
|
40
|
+
{{#if isDisproportionateBurden}}
|
|
41
|
+
Reason: disproportionate burden.
|
|
42
|
+
{{/if}}
|
|
43
|
+
{{#if isOutOfScope}}
|
|
44
|
+
Reason: the content falls outside the scope of the BehiG.
|
|
45
|
+
{{/if}}
|
|
46
|
+
{{#if isFixPlanned}}
|
|
47
|
+
Reason: the barrier is known and is being addressed.
|
|
48
|
+
{{/if}}
|
|
49
|
+
{{#if remedyByFormatted}}
|
|
50
|
+
Expected to be resolved by: {{ remedyByFormatted }}
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if isFromAudit}}
|
|
53
|
+
Detected by automated testing (axe-core, rule {{ ruleId }}); describe it in your own words.
|
|
54
|
+
{{/if}}
|
|
55
|
+
{{/each}}
|
|
56
|
+
{{/if}}
|
|
57
|
+
{{#if hasNoKnownIssues}}
|
|
58
|
+
No non-accessible content was known at the time of assessment.
|
|
59
|
+
{{/if}}
|
|
60
|
+
|
|
61
|
+
## Preparation of this statement
|
|
62
|
+
|
|
63
|
+
This statement was prepared on {{ compliance.assessedOnFormatted }}.
|
|
64
|
+
|
|
65
|
+
{{#if compliance.isSelfAssessment}}
|
|
66
|
+
It is based on a self-assessment carried out by {{ provider.legalName }}.
|
|
67
|
+
{{/if}}
|
|
68
|
+
{{#if compliance.isExternalAudit}}
|
|
69
|
+
It is based on an assessment carried out by a third party.
|
|
70
|
+
{{/if}}
|
|
71
|
+
|
|
72
|
+
{{#if audit.isSinglePage}}
|
|
73
|
+
The automated test run of {{ audit.checkedOnFormatted }} covered one page of this website.
|
|
74
|
+
{{/if}}
|
|
75
|
+
{{#if audit.isMultiPage}}
|
|
76
|
+
The automated test run of {{ audit.checkedOnFormatted }} covered {{ audit.pages }}
|
|
77
|
+
pages of this website.
|
|
78
|
+
{{/if}}
|
|
79
|
+
{{#if audit.needsReviewIsSingle}}
|
|
80
|
+
One further rule check requires a manual decision.
|
|
81
|
+
{{/if}}
|
|
82
|
+
{{#if audit.needsReviewIsPlural}}
|
|
83
|
+
{{ audit.needsReview }} further rule checks require a manual decision.
|
|
84
|
+
{{/if}}
|
|
85
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
86
|
+
One rule check could not be decided by the tool that was used; it is not reported as met.
|
|
87
|
+
{{/if}}
|
|
88
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
89
|
+
{{ audit.notEvaluated }} rule checks could not be decided by the tool that was used; they
|
|
90
|
+
are not reported as met.
|
|
91
|
+
{{/if}}
|
|
92
|
+
{{#if hasAudit}}
|
|
93
|
+
|
|
94
|
+
{{/if}}
|
|
95
|
+
The assessment relies in part on automated testing. Automated tools detect only a subset
|
|
96
|
+
of possible barriers; they are not a substitute for manual testing or for testing with
|
|
97
|
+
assistive technologies.
|
|
98
|
+
|
|
99
|
+
## Feedback and contact
|
|
100
|
+
|
|
101
|
+
Found a barrier, or need information in an accessible format? Please get in touch:
|
|
102
|
+
|
|
103
|
+
- Email: {{ provider.email }}
|
|
104
|
+
{{#if provider.feedbackUrl}}
|
|
105
|
+
- Contact form: {{ provider.feedbackUrl }}
|
|
106
|
+
{{/if}}
|
|
107
|
+
{{#if provider.phone}}
|
|
108
|
+
- Phone: {{ provider.phone }}
|
|
109
|
+
{{/if}}
|
|
110
|
+
{{#if provider.address}}
|
|
111
|
+
- Address: {{ provider.address }}
|
|
112
|
+
{{/if}}
|
|
113
|
+
|
|
114
|
+
We aim to respond to your feedback promptly.
|
|
115
|
+
|
|
116
|
+
## Enforcement procedure
|
|
117
|
+
|
|
118
|
+
Switzerland has no market surveillance authority for the websites of private providers,
|
|
119
|
+
so there is no supervisory body to complain to.
|
|
120
|
+
|
|
121
|
+
If you are not satisfied with our response, the BehiG gives you legal remedies. Anyone
|
|
122
|
+
discriminated against by a publicly offered service may bring the matter before a court
|
|
123
|
+
under Article 8 BehiG, and disability organisations may sue in their own name under
|
|
124
|
+
Article 9 BehiG.
|
|
125
|
+
|
|
126
|
+
The Federal Bureau for the Equality of People with Disabilities (EBGB) provides general
|
|
127
|
+
information on disability equality.
|
|
128
|
+
|
|
129
|
+
Eidgenössisches Büro für die Gleichstellung von Menschen mit Behinderungen (EBGB)
|
|
130
|
+
https://www.ebgb.admin.ch
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
This statement was generated with eaa-kit and is not legal advice. Review it before
|
|
135
|
+
publishing, and have it checked by a lawyer if in doubt.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Erklärung zur Barrierefreiheit
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} ist bemüht, die Website {{ site.name }} im Einklang mit dem
|
|
4
|
+
Barrierefreiheitsstärkungsgesetz (BFSG) und der Barrierefreiheitsstärkungsgesetz-
|
|
5
|
+
Verordnung (BFSGV) barrierefrei zugänglich zu machen. Das BFSG setzt die Richtlinie (EU)
|
|
6
|
+
2019/882 (European Accessibility Act) in deutsches Recht um.
|
|
7
|
+
|
|
8
|
+
Diese Erklärung zur Barrierefreiheit gilt für {{ site.url }}.
|
|
9
|
+
|
|
10
|
+
## Stand der Vereinbarkeit mit den Anforderungen
|
|
11
|
+
|
|
12
|
+
{{#if compliance.isCompliant}}
|
|
13
|
+
Diese Website ist mit {{ compliance.standard }} vollständig vereinbar.
|
|
14
|
+
{{/if}}
|
|
15
|
+
{{#if compliance.isPartiallyCompliant}}
|
|
16
|
+
Diese Website ist mit {{ compliance.standard }} teilweise vereinbar. Die im folgenden
|
|
17
|
+
Abschnitt aufgeführten Inhalte sind aus den jeweils genannten Gründen nicht barrierefrei.
|
|
18
|
+
{{/if}}
|
|
19
|
+
{{#if compliance.isNonCompliant}}
|
|
20
|
+
Diese Website ist mit {{ compliance.standard }} nicht vereinbar. Die im folgenden Abschnitt
|
|
21
|
+
aufgeführten Inhalte sind aus den jeweils genannten Gründen nicht barrierefrei.
|
|
22
|
+
{{/if}}
|
|
23
|
+
|
|
24
|
+
## Nicht barrierefreie Inhalte
|
|
25
|
+
|
|
26
|
+
{{#if hasKnownIssues}}
|
|
27
|
+
{{#each compliance.knownIssues}}
|
|
28
|
+
- {{ description }}
|
|
29
|
+
{{#if standards}}
|
|
30
|
+
Betroffene Anforderung: {{ standards }}
|
|
31
|
+
{{/if}}
|
|
32
|
+
{{#if pageList}}
|
|
33
|
+
Betroffene Seiten: {{ pageList }}{{#if hasMorePages}} und {{ morePages }} weitere{{/if}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
{{#if isDisproportionateBurden}}
|
|
36
|
+
Grund: unverhältnismäßige Belastung.
|
|
37
|
+
{{/if}}
|
|
38
|
+
{{#if isOutOfScope}}
|
|
39
|
+
Grund: der Inhalt fällt nicht in den Anwendungsbereich des BFSG.
|
|
40
|
+
{{/if}}
|
|
41
|
+
{{#if isFixPlanned}}
|
|
42
|
+
Grund: die Barriere ist bekannt und wird behoben.
|
|
43
|
+
{{/if}}
|
|
44
|
+
{{#if remedyByFormatted}}
|
|
45
|
+
Geplante Behebung bis: {{ remedyByFormatted }}
|
|
46
|
+
{{/if}}
|
|
47
|
+
{{#if isFromAudit}}
|
|
48
|
+
Automatisiert erkannt (axe-core, Regel {{ ruleId }}); bitte in eigenen Worten beschreiben.
|
|
49
|
+
{{/if}}
|
|
50
|
+
{{/each}}
|
|
51
|
+
{{/if}}
|
|
52
|
+
{{#if hasNoKnownIssues}}
|
|
53
|
+
Zum Zeitpunkt der Prüfung sind keine nicht barrierefreien Inhalte bekannt.
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
56
|
+
## Erstellung dieser Erklärung
|
|
57
|
+
|
|
58
|
+
Diese Erklärung wurde am {{ compliance.assessedOnFormatted }} erstellt.
|
|
59
|
+
|
|
60
|
+
{{#if compliance.isSelfAssessment}}
|
|
61
|
+
Grundlage ist eine Selbstbewertung durch {{ provider.legalName }}.
|
|
62
|
+
{{/if}}
|
|
63
|
+
{{#if compliance.isExternalAudit}}
|
|
64
|
+
Grundlage ist eine Prüfung durch Dritte.
|
|
65
|
+
{{/if}}
|
|
66
|
+
|
|
67
|
+
{{#if audit.isSinglePage}}
|
|
68
|
+
Die automatisierte Prüfung vom {{ audit.checkedOnFormatted }} umfasste eine Seite dieser
|
|
69
|
+
Website.
|
|
70
|
+
{{/if}}
|
|
71
|
+
{{#if audit.isMultiPage}}
|
|
72
|
+
Die automatisierte Prüfung vom {{ audit.checkedOnFormatted }} umfasste {{ audit.pages }}
|
|
73
|
+
Seiten dieser Website.
|
|
74
|
+
{{/if}}
|
|
75
|
+
{{#if audit.needsReviewIsSingle}}
|
|
76
|
+
Bei einer weiteren Regelprüfung ist eine manuelle Beurteilung erforderlich.
|
|
77
|
+
{{/if}}
|
|
78
|
+
{{#if audit.needsReviewIsPlural}}
|
|
79
|
+
Bei {{ audit.needsReview }} weiteren Regelprüfungen ist eine manuelle Beurteilung
|
|
80
|
+
erforderlich.
|
|
81
|
+
{{/if}}
|
|
82
|
+
{{#if audit.notEvaluatedIsSingle}}
|
|
83
|
+
Bei einer Regelprüfung erreichte das verwendete Werkzeug kein Ergebnis; sie wird nicht als
|
|
84
|
+
erfüllt ausgewiesen.
|
|
85
|
+
{{/if}}
|
|
86
|
+
{{#if audit.notEvaluatedIsPlural}}
|
|
87
|
+
Bei {{ audit.notEvaluated }} Regelprüfungen erreichte das verwendete Werkzeug kein
|
|
88
|
+
Ergebnis; sie werden nicht als erfüllt ausgewiesen.
|
|
89
|
+
{{/if}}
|
|
90
|
+
{{#if hasAudit}}
|
|
91
|
+
|
|
92
|
+
{{/if}}
|
|
93
|
+
Die Bewertung stützt sich unter anderem auf eine automatisierte Prüfung. Automatisierte
|
|
94
|
+
Werkzeuge erkennen nur einen Teil der möglichen Barrieren; sie ersetzen keine manuelle
|
|
95
|
+
Prüfung und keine Prüfung mit assistiven Technologien.
|
|
96
|
+
|
|
97
|
+
## Feedback und Kontaktangaben
|
|
98
|
+
|
|
99
|
+
Sie haben eine Barriere gefunden oder benötigen Informationen in einer barrierefreien
|
|
100
|
+
Form? Melden Sie sich bitte bei uns:
|
|
101
|
+
|
|
102
|
+
- E-Mail: {{ provider.email }}
|
|
103
|
+
{{#if provider.feedbackUrl}}
|
|
104
|
+
- Kontaktformular: {{ provider.feedbackUrl }}
|
|
105
|
+
{{/if}}
|
|
106
|
+
{{#if provider.phone}}
|
|
107
|
+
- Telefon: {{ provider.phone }}
|
|
108
|
+
{{/if}}
|
|
109
|
+
{{#if provider.address}}
|
|
110
|
+
- Anschrift: {{ provider.address }}
|
|
111
|
+
{{/if}}
|
|
112
|
+
|
|
113
|
+
Wir bemühen uns, Ihre Rückmeldung zeitnah zu beantworten.
|
|
114
|
+
|
|
115
|
+
## Beschwerdeverfahren
|
|
116
|
+
|
|
117
|
+
Wenn Sie mit unserer Antwort nicht zufrieden sind, können Sie sich an die
|
|
118
|
+
Marktüberwachungsstelle der Länder für die Barrierefreiheit von Produkten und
|
|
119
|
+
Dienstleistungen (MLBF) wenden. Die MLBF ist die nach dem BFSG zuständige
|
|
120
|
+
Marktüberwachungsstelle.
|
|
121
|
+
|
|
122
|
+
Marktüberwachungsstelle der Länder für die Barrierefreiheit von Produkten und
|
|
123
|
+
Dienstleistungen (MLBF)
|
|
124
|
+
https://www.marktueberwachung-barrierefreiheit.de
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
Diese Erklärung wurde mit eaa-kit erstellt und ist keine Rechtsberatung. Prüfen Sie den
|
|
129
|
+
Inhalt vor der Veröffentlichung und lassen Sie ihn im Zweifel rechtlich prüfen.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Accessibility Statement
|
|
2
|
+
|
|
3
|
+
{{ provider.legalName }} is committed to making the website {{ site.name }} accessible in
|
|
4
|
+
accordance with the German Accessibility Strengthening Act
|
|
5
|
+
(Barrierefreiheitsstärkungsgesetz, BFSG) and its implementing regulation (BFSGV), which
|
|
6
|
+
transpose Directive (EU) 2019/882 (the European Accessibility Act) into German law.
|
|
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 the BFSG.
|
|
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 contact the market surveillance
|
|
114
|
+
authority for the accessibility of products and services (Marktüberwachungsstelle der
|
|
115
|
+
Länder für die Barrierefreiheit von Produkten und Dienstleistungen, MLBF), which is
|
|
116
|
+
responsible under the BFSG.
|
|
117
|
+
|
|
118
|
+
Marktüberwachungsstelle der Länder für die Barrierefreiheit von Produkten und
|
|
119
|
+
Dienstleistungen (MLBF)
|
|
120
|
+
https://www.marktueberwachung-barrierefreiheit.de
|
|
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,15 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
//#region src/version.ts
|
|
3
|
+
/**
|
|
4
|
+
* The published package version, reported by `--version` and stamped into the
|
|
5
|
+
* JSON report.
|
|
6
|
+
*
|
|
7
|
+
* Resolved by package self-reference rather than a relative path: tsdown
|
|
8
|
+
* bundles every module into dist/cli/index.js, so a path that is correct
|
|
9
|
+
* relative to a source file is wrong in the bundle, and the depth differs per
|
|
10
|
+
* file. Self-reference works from both, and depends on the "./package.json"
|
|
11
|
+
* entry in the exports map, which must stay.
|
|
12
|
+
*/
|
|
13
|
+
const TOOL_VERSION = createRequire(import.meta.url)("eaa-kit/package.json").version;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { TOOL_VERSION as t };
|
package/package.json
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "eaa-kit",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Build-time WCAG 2.2 AA auditor and EU accessibility statement generator for static sites (EAA / BFSG / BaFG, DACH-localised).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/likeBloodMoon/eaa-kit.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/likeBloodMoon/eaa-kit#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/likeBloodMoon/eaa-kit/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"accessibility",
|
|
17
|
+
"a11y",
|
|
18
|
+
"wcag",
|
|
19
|
+
"eaa",
|
|
20
|
+
"bfsg",
|
|
21
|
+
"barrierefreiheit",
|
|
22
|
+
"axe-core",
|
|
23
|
+
"cli"
|
|
24
|
+
],
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=22.22.2"
|
|
27
|
+
},
|
|
28
|
+
"packageManager": "pnpm@10.28.0",
|
|
29
|
+
"bin": {
|
|
30
|
+
"eaa-kit": "./dist/cli/index.js"
|
|
31
|
+
},
|
|
32
|
+
"main": "./dist/index.js",
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/index.d.ts",
|
|
37
|
+
"import": "./dist/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./astro": {
|
|
40
|
+
"types": "./dist/astro/index.d.ts",
|
|
41
|
+
"import": "./dist/astro/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./package.json": "./package.json"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist"
|
|
47
|
+
],
|
|
48
|
+
"scripts": {
|
|
49
|
+
"build": "tsdown",
|
|
50
|
+
"dev": "tsdown --watch",
|
|
51
|
+
"test": "vitest run",
|
|
52
|
+
"test:watch": "vitest",
|
|
53
|
+
"typecheck": "tsc --noEmit",
|
|
54
|
+
"lint": "biome check .",
|
|
55
|
+
"format": "biome check --write .",
|
|
56
|
+
"smoke": "pnpm build && node dist/cli/index.js audit tests/fixtures/site --include about/** --format json && node dist/cli/index.js audit tests/fixtures/site --include 'about/**' 'blog/**' 'drafts/**' 'legacy.htm' --concurrency 2 && node dist/cli/index.js audit tests/fixtures/site --include about/** --format html && node dist/cli/index.js audit tests/fixtures/site --baseline examples/baseline.json && node -e \"import('./dist/astro/index.js').then(m => { const i = m.default(); if (i.name !== 'eaa-kit' || typeof i.hooks['astro:build:done'] !== 'function') { throw new Error('astro entry point is not an integration') } console.log('astro entry ok') })\" && node dist/cli/index.js statement --config examples/eaa.config.json && node dist/cli/index.js statement --config examples/eaa.config.json --audit examples/report.json --format html",
|
|
57
|
+
"examples": "pnpm build && node scripts/generate-examples.mjs"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"playwright": ">=1.40.0",
|
|
61
|
+
"astro": ">=4.0.0"
|
|
62
|
+
},
|
|
63
|
+
"peerDependenciesMeta": {
|
|
64
|
+
"playwright": {
|
|
65
|
+
"optional": true
|
|
66
|
+
},
|
|
67
|
+
"astro": {
|
|
68
|
+
"optional": true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"axe-core": "^4.13.0",
|
|
73
|
+
"commander": "^15.0.0",
|
|
74
|
+
"jsdom": "^30.0.1",
|
|
75
|
+
"picocolors": "^1.1.1",
|
|
76
|
+
"tinyglobby": "^0.2.17",
|
|
77
|
+
"zod": "^4.4.3"
|
|
78
|
+
},
|
|
79
|
+
"devDependencies": {
|
|
80
|
+
"@biomejs/biome": "^2.5.9",
|
|
81
|
+
"@types/jsdom": "^30.0.0",
|
|
82
|
+
"@types/node": "^26.2.0",
|
|
83
|
+
"ajv": "^8.20.0",
|
|
84
|
+
"ajv-formats": "^3.0.1",
|
|
85
|
+
"astro": "^7.2.9",
|
|
86
|
+
"playwright": "^1.62.1",
|
|
87
|
+
"tsdown": "^0.22.14",
|
|
88
|
+
"typescript": "^7.0.2",
|
|
89
|
+
"vitest": "^4.1.11"
|
|
90
|
+
},
|
|
91
|
+
"publishConfig": {
|
|
92
|
+
"access": "public",
|
|
93
|
+
"provenance": true
|
|
94
|
+
}
|
|
95
|
+
}
|