@amsterdam/design-system-css 0.1.4 → 0.1.6
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 +1 -1
- package/dist/accordion/accordion.css +1 -69
- package/dist/accordion/accordion.css.map +1 -1
- package/dist/aspect-ratio/aspect-ratio.css +30 -0
- package/dist/aspect-ratio/aspect-ratio.css.map +1 -0
- package/dist/blockquote/blockquote.css +1 -0
- package/dist/blockquote/blockquote.css.map +1 -0
- package/dist/breadcrumb/breadcrumb.css +1 -0
- package/dist/breadcrumb/breadcrumb.css.map +1 -0
- package/dist/button/button.css +1 -706
- package/dist/button/button.css.map +1 -1
- package/dist/buttons/button/button.css +729 -0
- package/dist/buttons/button/button.css.map +1 -0
- package/dist/card/card.css +56 -0
- package/dist/card/card.css.map +1 -0
- package/dist/checkbox/checkbox.css +1 -0
- package/dist/checkbox/checkbox.css.map +1 -0
- package/dist/containers/accordion/accordion.css +69 -0
- package/dist/containers/accordion/accordion.css.map +1 -0
- package/dist/containers/footer/footer.css +35 -0
- package/dist/containers/footer/footer.css.map +1 -0
- package/dist/containers/visually-hidden/visually-hidden.css +18 -0
- package/dist/containers/visually-hidden/visually-hidden.css.map +1 -0
- package/dist/footer/footer.css +1 -0
- package/dist/footer/footer.css.map +1 -0
- package/dist/form-label/form-label.css +1 -26
- package/dist/form-label/form-label.css.map +1 -1
- package/dist/forms/checkbox/checkbox.css +170 -0
- package/dist/forms/checkbox/checkbox.css.map +1 -0
- package/dist/forms/form-label/form-label.css +26 -0
- package/dist/forms/form-label/form-label.css.map +1 -0
- package/dist/grid/grid-cell.css +1 -0
- package/dist/grid/grid-cell.css.map +1 -0
- package/dist/grid/page-grid.css +1 -0
- package/dist/grid/page-grid.css.map +1 -0
- package/dist/heading/heading.css +1 -64
- package/dist/heading/heading.css.map +1 -1
- package/dist/hero/hero.css +1 -0
- package/dist/hero/hero.css.map +1 -0
- package/dist/icon/icon.css +1 -122
- package/dist/icon/icon.css.map +1 -1
- package/dist/index.css +1 -0
- package/dist/index.css.map +1 -0
- package/dist/layout/grid-cell/grid-cell.css +88 -0
- package/dist/layout/grid-cell/grid-cell.css.map +1 -0
- package/dist/layout/page-grid/page-grid.css +26 -0
- package/dist/layout/page-grid/page-grid.css.map +1 -0
- package/dist/link/link.css +1 -97
- package/dist/link/link.css.map +1 -1
- package/dist/media/icon/icon.css +122 -0
- package/dist/media/icon/icon.css.map +1 -0
- package/dist/navigation/breadcrumb/breadcrumb.css +67 -0
- package/dist/navigation/breadcrumb/breadcrumb.css.map +1 -0
- package/dist/navigation/link/link.css +111 -0
- package/dist/navigation/link/link.css.map +1 -0
- package/dist/navigation/page-menu/page-menu.css +83 -0
- package/dist/navigation/page-menu/page-menu.css.map +1 -0
- package/dist/navigation/top-task-link/top-task-link.css +59 -0
- package/dist/navigation/top-task-link/top-task-link.css.map +1 -0
- package/dist/ordered-list/ordered-list.css +1 -0
- package/dist/ordered-list/ordered-list.css.map +1 -0
- package/dist/page-heading/page-heading.css +1 -0
- package/dist/page-heading/page-heading.css.map +1 -0
- package/dist/page-menu/page-menu.css +1 -0
- package/dist/page-menu/page-menu.css.map +1 -0
- package/dist/paragraph/paragraph.css +1 -49
- package/dist/paragraph/paragraph.css.map +1 -1
- package/dist/switch/switch.css +59 -0
- package/dist/switch/switch.css.map +1 -0
- package/dist/testula/testula.css +9 -0
- package/dist/testula/testula.css.map +1 -0
- package/dist/text/blockquote/blockquote.css +43 -0
- package/dist/text/blockquote/blockquote.css.map +1 -0
- package/dist/text/heading/heading.css +67 -0
- package/dist/text/heading/heading.css.map +1 -0
- package/dist/text/ordered-list/ordered-list.css +54 -0
- package/dist/text/ordered-list/ordered-list.css.map +1 -0
- package/dist/text/page-heading/page-heading.css +34 -0
- package/dist/text/page-heading/page-heading.css.map +1 -0
- package/dist/text/paragraph/paragraph.css +53 -0
- package/dist/text/paragraph/paragraph.css.map +1 -0
- package/dist/text/unordered-list/unordered-list.css +54 -0
- package/dist/text/unordered-list/unordered-list.css.map +1 -0
- package/dist/top-task-link/top-task-link.css +1 -0
- package/dist/top-task-link/top-task-link.css.map +1 -0
- package/dist/unordered-list/unordered-list.css +1 -47
- package/dist/unordered-list/unordered-list.css.map +1 -1
- package/dist/visually-hidden/visually-hidden.css +1 -0
- package/dist/visually-hidden/visually-hidden.css.map +1 -0
- package/package.json +7 -6
- package/src/accordion/README.md +25 -2
- package/src/accordion/accordion.scss +2 -2
- package/src/blockquote/README.md +14 -0
- package/src/blockquote/blockquote.scss +41 -0
- package/src/breadcrumb/README.md +15 -0
- package/src/breadcrumb/breadcrumb.scss +68 -0
- package/src/button/button.scss +36 -4
- package/src/checkbox/README.md +27 -0
- package/src/checkbox/checkbox-css.md +3 -0
- package/src/checkbox/checkbox.scss +225 -0
- package/src/footer/README.md +11 -0
- package/src/footer/footer-css.md +11 -0
- package/src/footer/footer.scss +29 -0
- package/src/form-label/form-label.scss +2 -2
- package/src/grid/README.md +11 -0
- package/src/grid/grid-cell.scss +18 -0
- package/src/grid/page-grid.scss +19 -0
- package/src/heading/heading.scss +18 -15
- package/src/icon/icon.scss +10 -10
- package/src/index.scss +19 -0
- package/src/link/README.md +28 -12
- package/src/link/link.scss +61 -36
- package/src/ordered-list/README.md +7 -0
- package/src/ordered-list/ordered-list.scss +53 -0
- package/src/page-heading/README.md +16 -0
- package/src/page-heading/page-heading.scss +31 -0
- package/src/page-menu/README.md +15 -0
- package/src/page-menu/page-menu.scss +79 -0
- package/src/paragraph/paragraph.scss +12 -8
- package/src/top-task-link/README.md +15 -0
- package/src/top-task-link/top-task-link.scss +55 -0
- package/src/unordered-list/README.md +5 -13
- package/src/unordered-list/unordered-list.scss +26 -17
- package/src/visually-hidden/README.md +5 -0
- package/src/visually-hidden/visually-hidden.scss +17 -0
- package/dist/list/list.css +0 -12
- package/dist/list/list.css.map +0 -1
- package/src/list/list.scss +0 -16
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license EUPL-1.2+
|
|
7
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
8
|
+
*/
|
|
9
|
+
/*
|
|
10
|
+
The breakpoint is 854px / 16 = 53.375rems
|
|
11
|
+
https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
|
|
12
|
+
*/
|
|
13
|
+
/** Apply border box sizing, reset whitespace and list styles. */
|
|
14
|
+
/** A list is a grid column with a gap between items. */
|
|
15
|
+
.amsterdam-ordered-list {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
list-style-type: none;
|
|
18
|
+
margin-block: 0;
|
|
19
|
+
padding-inline-start: 0;
|
|
20
|
+
-webkit-text-size-adjust: 100%;
|
|
21
|
+
display: grid;
|
|
22
|
+
gap: var(--amsterdam-ordered-list-gap);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** A list with markers sets typography for its text content. */
|
|
26
|
+
.amsterdam-ordered-list:not(.amsterdam-ordered-list--no-markers) {
|
|
27
|
+
color: var(--amsterdam-ordered-list-color);
|
|
28
|
+
font-family: var(--amsterdam-ordered-list-font-family);
|
|
29
|
+
font-size: var(--amsterdam-ordered-list-narrow-font-size);
|
|
30
|
+
font-weight: var(--amsterdam-ordered-list-font-weight);
|
|
31
|
+
line-height: var(--amsterdam-ordered-list-line-height);
|
|
32
|
+
list-style-type: var(--amsterdam-ordered-list-list-style-type);
|
|
33
|
+
/** List items are responsible for indentation and marker positioning. */
|
|
34
|
+
}
|
|
35
|
+
@media screen and (width > 53.375rem) {
|
|
36
|
+
.amsterdam-ordered-list:not(.amsterdam-ordered-list--no-markers) {
|
|
37
|
+
font-size: var(--amsterdam-ordered-list-wide-font-size);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
.amsterdam-ordered-list:not(.amsterdam-ordered-list--no-markers) .amsterdam-ordered-list__item {
|
|
41
|
+
margin-inline-start: var(--amsterdam-ordered-list-item-margin-inline-start);
|
|
42
|
+
padding-inline-start: var(--amsterdam-ordered-list-item-padding-inline-start);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** A nested list has a different marker and less indentation for correct alignment. */
|
|
46
|
+
:is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-ordered-list {
|
|
47
|
+
list-style-type: var(--amsterdam-ordered-list-ordered-list-list-style-type);
|
|
48
|
+
}
|
|
49
|
+
:is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-ordered-list .amsterdam-ordered-list__item {
|
|
50
|
+
margin-inline-start: var(--amsterdam-ordered-list-ordered-list-item-margin-inline-start);
|
|
51
|
+
padding-inline-start: var(--amsterdam-ordered-list-ordered-list-item-padding-inline-start);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/*# sourceMappingURL=ordered-list.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/text/ordered-list/ordered-list.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADEA;AASA;AACA;EARE;EACA;EACA;EACA;EACA;EAOA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;AAMA;;AAJA;EARF;IASI;;;AAIF;EACE;EACA;;;AAIJ;AACA;EACE;;AAEA;EACE;EACA","file":"ordered-list.css"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license EUPL-1.2+
|
|
7
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
8
|
+
*/
|
|
9
|
+
/*
|
|
10
|
+
The breakpoint is 854px / 16 = 53.375rems
|
|
11
|
+
https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
|
|
12
|
+
*/
|
|
13
|
+
.amsterdam-page-heading {
|
|
14
|
+
break-after: avoid;
|
|
15
|
+
break-inside: avoid;
|
|
16
|
+
color: var(--amsterdam-page-heading-color);
|
|
17
|
+
font-family: var(--amsterdam-page-heading-font-family);
|
|
18
|
+
font-size: var(--amsterdam-page-heading-narrow-font-size);
|
|
19
|
+
font-weight: var(--amsterdam-page-heading-font-weight);
|
|
20
|
+
line-height: var(--amsterdam-page-heading-line-height);
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
margin-block: 0;
|
|
23
|
+
}
|
|
24
|
+
@media screen and (width > 53.375rem) {
|
|
25
|
+
.amsterdam-page-heading {
|
|
26
|
+
font-size: var(--amsterdam-page-heading-wide-font-size);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.amsterdam-page-heading--inverse-color {
|
|
31
|
+
color: var(--amsterdam-page-heading-inverse-color);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/*# sourceMappingURL=page-heading.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/text/page-heading/page-heading.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADOA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAXA;EACA;;AAYA;EATF;IAUI;;;;AAMJ;EACE","file":"page-heading.css"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license EUPL-1.2+
|
|
7
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
8
|
+
*/
|
|
9
|
+
/*
|
|
10
|
+
The breakpoint is 854px / 16 = 53.375rems
|
|
11
|
+
https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
|
|
12
|
+
*/
|
|
13
|
+
.amsterdam-paragraph {
|
|
14
|
+
color: var(--amsterdam-paragraph-color);
|
|
15
|
+
font-family: var(--amsterdam-paragraph-font-family);
|
|
16
|
+
font-size: var(--amsterdam-paragraph-narrow-font-size);
|
|
17
|
+
font-weight: var(--amsterdam-paragraph-font-weight);
|
|
18
|
+
line-height: var(--amsterdam-paragraph-line-height);
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
margin-block: 0;
|
|
21
|
+
-webkit-text-size-adjust: 100%;
|
|
22
|
+
}
|
|
23
|
+
@media screen and (width > 53.375rem) {
|
|
24
|
+
.amsterdam-paragraph {
|
|
25
|
+
font-size: var(--amsterdam-paragraph-wide-font-size);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.amsterdam-paragraph--small {
|
|
30
|
+
font-size: var(--amsterdam-paragraph-small-narrow-font-size);
|
|
31
|
+
line-height: var(--amsterdam-paragraph-small-line-height);
|
|
32
|
+
}
|
|
33
|
+
@media screen and (width > 53.375rem) {
|
|
34
|
+
.amsterdam-paragraph--small {
|
|
35
|
+
font-size: var(--amsterdam-paragraph-small-wide-font-size);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.amsterdam-paragraph--large {
|
|
40
|
+
font-size: var(--amsterdam-paragraph-large-narrow-font-size);
|
|
41
|
+
line-height: var(--amsterdam-paragraph-large-line-height);
|
|
42
|
+
}
|
|
43
|
+
@media screen and (width > 53.375rem) {
|
|
44
|
+
.amsterdam-paragraph--large {
|
|
45
|
+
font-size: var(--amsterdam-paragraph-large-wide-font-size);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.amsterdam-paragraph--inverse-color {
|
|
50
|
+
color: var(--amsterdam-paragraph-inverse-color);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/*# sourceMappingURL=paragraph.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/text/paragraph/paragraph.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADQA;EACE;EACA;EACA;EACA;EACA;EAVA;EACA;EACA;;AAUA;EAPF;IAQI;;;;AAMJ;EACE;EACA;;AAEA;EAJF;IAKI;;;;AAIJ;EACE;EACA;;AAEA;EAJF;IAKI;;;;AAIJ;EACE","file":"paragraph.css"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license EUPL-1.2+
|
|
7
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
8
|
+
*/
|
|
9
|
+
/*
|
|
10
|
+
The breakpoint is 854px / 16 = 53.375rems
|
|
11
|
+
https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
|
|
12
|
+
*/
|
|
13
|
+
/** Apply border box sizing, reset whitespace and list styles. */
|
|
14
|
+
/** A list is a grid column with a gap between items. */
|
|
15
|
+
.amsterdam-unordered-list {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
list-style: none;
|
|
18
|
+
margin-block: 0;
|
|
19
|
+
padding-inline-start: 0;
|
|
20
|
+
-webkit-text-size-adjust: 100%;
|
|
21
|
+
display: grid;
|
|
22
|
+
gap: var(--amsterdam-unordered-list-gap);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** A list with markers sets typography for its text content. */
|
|
26
|
+
.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) {
|
|
27
|
+
color: var(--amsterdam-unordered-list-color);
|
|
28
|
+
font-family: var(--amsterdam-unordered-list-font-family);
|
|
29
|
+
font-size: var(--amsterdam-unordered-list-narrow-font-size);
|
|
30
|
+
font-weight: var(--amsterdam-unordered-list-font-weight);
|
|
31
|
+
line-height: var(--amsterdam-unordered-list-line-height);
|
|
32
|
+
list-style-type: var(--amsterdam-unordered-list-list-style-type);
|
|
33
|
+
/** List items are responsible for indentation and marker positioning. */
|
|
34
|
+
}
|
|
35
|
+
@media screen and (width > 53.375rem) {
|
|
36
|
+
.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) {
|
|
37
|
+
font-size: var(--amsterdam-unordered-list-wide-font-size);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) .amsterdam-unordered-list__item {
|
|
41
|
+
margin-inline-start: var(--amsterdam-unordered-list-item-margin-inline-start);
|
|
42
|
+
padding-inline-start: var(--amsterdam-unordered-list-item-padding-inline-start);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** A nested list has a different marker and less indentation for correct alignment. */
|
|
46
|
+
:is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-unordered-list {
|
|
47
|
+
list-style-type: var(--amsterdam-unordered-list-unordered-list-list-style-type);
|
|
48
|
+
}
|
|
49
|
+
:is(.amsterdam-ordered-list, .amsterdam-unordered-list) .amsterdam-unordered-list .amsterdam-unordered-list__item {
|
|
50
|
+
margin-inline-start: var(--amsterdam-unordered-list-unordered-list-item-margin-inline-start);
|
|
51
|
+
padding-inline-start: var(--amsterdam-unordered-list-unordered-list-item-padding-inline-start);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/*# sourceMappingURL=unordered-list.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/text/unordered-list/unordered-list.scss","../../../utils/breakpoint.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;ADEA;AASA;AACA;EARE;EACA;EACA;EACA;EACA;EAOA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;AAMA;;AAJA;EARF;IASI;;;AAIF;EACE;EACA;;;AAIJ;AACA;EACE;;AAEA;EACE;EACA","file":"unordered-list.css"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.amsterdam-top-task-link{break-inside:avoid;display:flex;flex-direction:column;gap:.5rem;outline-offset:var(--amsterdam-top-task-link-outline-offset);text-decoration:none}.amsterdam-top-task-link__label{color:var(--amsterdam-top-task-link-label-color);font-family:var(--amsterdam-top-task-link-label-font-family);font-size:var(--amsterdam-top-task-link-label-narrow-font-size);font-weight:var(--amsterdam-top-task-link-label-font-weight);line-height:var(--amsterdam-top-task-link-label-line-height);box-sizing:border-box;-webkit-text-size-adjust:100%}@media screen and (width > 53.375rem){.amsterdam-top-task-link__label{font-size:var(--amsterdam-top-task-link-label-wide-font-size)}}.amsterdam-top-task-link:hover .amsterdam-top-task-link__label{color:var(--amsterdam-top-task-link-label-hover-color);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.5rem}.amsterdam-top-task-link__description{color:var(--amsterdam-top-task-link-description-color);font-family:var(--amsterdam-top-task-link-description-font-family);font-size:var(--amsterdam-top-task-link-description-narrow-font-size);font-weight:var(--amsterdam-top-task-link-description-font-weight);line-height:var(--amsterdam-top-task-link-description-line-height);box-sizing:border-box;-webkit-text-size-adjust:100%}@media screen and (width > 53.375rem){.amsterdam-top-task-link__description{font-size:var(--amsterdam-top-task-link-description-wide-font-size)}}/*# sourceMappingURL=top-task-link.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/top-task-link/top-task-link.scss"],"names":[],"mappings":"AAOA,yBACE,mBACA,aACA,sBACA,UACA,6DACA,qBAQF,gCACE,iDACA,6DACA,gEACA,6DACA,6DATA,sBACA,8BAUA,sCAPF,gCAQI,+DAMJ,+DACE,uDACA,0BACA,8BACA,4BAGF,sCACE,uDACA,mEACA,sEACA,mEACA,mEA9BA,sBACA,8BA+BA,sCAPF,sCAQI","file":"top-task-link.css"}
|
|
@@ -1,47 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* @license EUPL-1.2+
|
|
3
|
-
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @license EUPL-1.2+
|
|
7
|
-
* Copyright (c) 2023 Gemeente Amsterdam
|
|
8
|
-
*/
|
|
9
|
-
/*
|
|
10
|
-
The breakpoint is 854px / 16 = 53.375rems
|
|
11
|
-
https://developer.mozilla.org/en-US/docs/Web/CSS/@media#accessibility_concerns
|
|
12
|
-
*/
|
|
13
|
-
.amsterdam-unordered-list {
|
|
14
|
-
color: var(--amsterdam-unordered-list-color);
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-direction: column;
|
|
17
|
-
font-family: var(--amsterdam-unordered-list-font-family);
|
|
18
|
-
font-size: var(--amsterdam-unordered-list-font-size-narrow);
|
|
19
|
-
font-weight: var(--amsterdam-unordered-list-font-weight);
|
|
20
|
-
gap: var(--amsterdam-unordered-list-gap);
|
|
21
|
-
line-height: var(--amsterdam-unordered-list-line-height);
|
|
22
|
-
list-style: var(--amsterdam-unordered-list-list-style);
|
|
23
|
-
box-sizing: border-box;
|
|
24
|
-
margin-block: 0;
|
|
25
|
-
-webkit-text-size-adjust: 100%;
|
|
26
|
-
}
|
|
27
|
-
@media screen and (width > 53.375rem) {
|
|
28
|
-
.amsterdam-unordered-list {
|
|
29
|
-
font-size: var(--amsterdam-unordered-list-font-size-wide);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.amsterdam-unordered-list__item {
|
|
34
|
-
padding-inline: var(--amsterdam-unordered-list-item-padding-inline);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.amsterdam-unordered-list .amsterdam-unordered-list {
|
|
38
|
-
list-style-type: var(--amsterdam-unordered-list-unordered-list-list-style-type);
|
|
39
|
-
padding-block: var(--amsterdam-unordered-list-unordered-list-padding-block);
|
|
40
|
-
padding-inline: var(--amsterdam-unordered-list-unordered-list-padding-inline);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.amsterdam-unordered-list .amsterdam-unordered-list .amsterdam-unordered-list__item {
|
|
44
|
-
padding-inline: var(--amsterdam-unordered-list-unordered-list-item-padding-inline);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/*# sourceMappingURL=unordered-list.css.map */
|
|
1
|
+
.amsterdam-unordered-list{box-sizing:border-box;list-style:none;margin-block:0;padding-inline-start:0;-webkit-text-size-adjust:100%;display:grid;gap:var(--amsterdam-unordered-list-gap)}.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers){color:var(--amsterdam-unordered-list-color);font-family:var(--amsterdam-unordered-list-font-family);font-size:var(--amsterdam-unordered-list-narrow-font-size);font-weight:var(--amsterdam-unordered-list-font-weight);line-height:var(--amsterdam-unordered-list-line-height);list-style-type:var(--amsterdam-unordered-list-list-style-type)}@media screen and (width > 53.375rem){.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers){font-size:var(--amsterdam-unordered-list-wide-font-size)}}.amsterdam-unordered-list:not(.amsterdam-unordered-list--no-markers) .amsterdam-unordered-list__item{margin-inline-start:var(--amsterdam-unordered-list-item-margin-inline-start);padding-inline-start:var(--amsterdam-unordered-list-item-padding-inline-start)}:is(.amsterdam-ordered-list,.amsterdam-unordered-list) .amsterdam-unordered-list{list-style-type:var(--amsterdam-unordered-list-unordered-list-list-style-type)}:is(.amsterdam-ordered-list,.amsterdam-unordered-list) .amsterdam-unordered-list .amsterdam-unordered-list__item{margin-inline-start:var(--amsterdam-unordered-list-unordered-list-item-margin-inline-start);padding-inline-start:var(--amsterdam-unordered-list-unordered-list-item-padding-inline-start)}/*# sourceMappingURL=unordered-list.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/unordered-list/unordered-list.scss"
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/unordered-list/unordered-list.scss"],"names":[],"mappings":"AAiBA,0BARE,sBACA,gBACA,eACA,uBACA,8BAOA,aACA,wCAIF,qEACE,4CACA,wDACA,2DACA,wDACA,wDACA,gEAEA,sCARF,qEASI,0DAIF,qGACE,6EACA,+EAKJ,iFACE,+EAEA,iHACE,4FACA","file":"unordered-list.css"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.amsterdam-visually-hidden{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin-block:-1px;margin-inline:-1px;overflow:hidden;padding-block:0;padding-inline:0;position:absolute;width:1px}/*# sourceMappingURL=visually-hidden.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/visually-hidden/visually-hidden.scss"],"names":[],"mappings":"AAKA,2BACE,8BACA,qBACA,WACA,kBACA,mBACA,gBACA,gBACA,iBACA,kBACA","file":"visually-hidden.css"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.
|
|
2
|
+
"version": "0.1.6",
|
|
3
3
|
"author": "Community for NL Design System",
|
|
4
4
|
"description": "CSS files for components for the City of Amsterdam based on the NL Design System architecture",
|
|
5
5
|
"license": "EUPL-1.2",
|
|
@@ -14,15 +14,16 @@
|
|
|
14
14
|
"directory": "packages/css"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "sass src/:dist/",
|
|
17
|
+
"build": "sass src/:dist/ --style=compressed",
|
|
18
|
+
"build:watch": "sass src/:dist/ --watch",
|
|
18
19
|
"clean": "rimraf dist/"
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
21
|
-
"@amsterdam/design-system-tokens": "0.1.
|
|
22
|
-
"sass": "1.
|
|
22
|
+
"@amsterdam/design-system-tokens": "0.1.5",
|
|
23
|
+
"sass": "1.68.0"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
|
-
"@utrecht/components": "1.0.0-alpha.
|
|
26
|
+
"@utrecht/components": "1.0.0-alpha.536"
|
|
26
27
|
},
|
|
27
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "58764d2cd6d59d20fd0e3215f32461c6c580df1b"
|
|
28
29
|
}
|
package/src/accordion/README.md
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
# Accordion
|
|
2
2
|
|
|
3
|
-
Het accordion component is een klikbare (verticaal gestapelde) lijst van koppen om bijbehorende inhoud te verbergen of te
|
|
3
|
+
Het accordion component is een klikbare (verticaal gestapelde) lijst van koppen om bijbehorende inhoud te verbergen of te tonen. Met een accordion toon je inhoud op een progressieve manier aan gebruikers.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
- Gebruik een accordion op een volle pagina met zowel essentiële als niet-essentiële inhoud. Door niet-essentiële inhoud te verbergen, komen gebruikers sneller bij de essentiële inhoud.
|
|
8
|
+
- Gebruik een accordion niet om te veel essentiële inhoud op 1 pagina te voorkomen. Herschrijf de pagina compacter, verdeel de inhoud over meerdere pagina's of gebruik het (nog te maken) inhoudsopgave-component in plaats van een accordion voor dat doel. Verberg essentiële informatie niet in een accordion.
|
|
9
|
+
- Een accordion bestaat uit meerdere accordionsecties. Gebruik minimaal 3 en maximaal 10 secties onder elkaar.
|
|
10
|
+
- Het is belangrijk dat accordionsecties duidelijke koppen hebben, omdat de gebruiker de verborgen inhoud niet kan "scannen" om relevante informatie te vinden.
|
|
11
|
+
- De inhoud verbergen heeft als nadeel dat "zoeken in pagina" geen resultaten oplevert voor de inhoud die verborgen is. Als je weet op welke zoekterm de gebruiker heeft gezocht om op de pagina met accordion te komen, dan kun je de secties die de zoekterm bevatten automatisch uitklappen.
|
|
12
|
+
- De inhoud van de accordeon kan opmaak bevatten (bijvoorbeeld headings, lijsten, links en knoppen).
|
|
13
|
+
|
|
14
|
+
Je kunt door een accordion navigeren met je toetsenbord:
|
|
6
15
|
|
|
7
16
|
| key | element |
|
|
8
17
|
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -14,6 +23,20 @@ Een accordion bestaat uit meerdere accordionsecties. Gebruik minimaal 3 en maxim
|
|
|
14
23
|
| Home | Als een accordionsectie focus heeft: ga naar de eerste sectie |
|
|
15
24
|
| End | Als een accordionsectie focus heeft: ga naar de laatste sectie |
|
|
16
25
|
|
|
26
|
+
## Relevante WCAG eisen
|
|
27
|
+
|
|
28
|
+
De WCAG eisen voor het Button component en het Heading component gelden ook voor de accordion header.
|
|
29
|
+
|
|
30
|
+
Let extra op voor deze onderdelen:
|
|
31
|
+
|
|
32
|
+
- [WCAG eis 1.3.1](https://www.w3.org/TR/WCAG21/#info-and-relationships): de _heading level_ van de accordionsecties is afhankelijk van waar in de pagina de accordion is geplaatst, dit kan per pagina verschillen.
|
|
33
|
+
- [WCAG eis 1.3.6](https://www.w3.org/TR/WCAG21/#identify-purpose): gebruik `aria-controls` voor de button, en gebruik een `region` landmark voor de _expandable region_ (gebruik daarvoor het HTML-element `<section>`)
|
|
34
|
+
- [WCAG eis 1.4.3](https://www.w3.org/TR/WCAG21/#contrast-minimum): contrast tussen tekst en achtergrond en tussen icoon en achtergrond is voldoende in alle varianten, alle interactieve statussen en alle mogelijke combinaties.
|
|
35
|
+
- [WCAG eis 3.2.1](https://www.w3.org/TR/WCAG21/#on-focus): maak de accordion niet automatisch _expanded_ als de button focus krijgt.
|
|
36
|
+
- [WCAG eis 2.1.3](https://www.w3.org/TR/WCAG21/#keyboard-no-exception): ondersteun ook de optionele toetsen: `Down Arrow`, `Up Arrow`, `Home` en `End`. `Space` moet de button activeren, niet de pagina scrollen (gebruik `keypressEvt.preventDefault()`).
|
|
37
|
+
- [WCAG eis 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): de tekst die zowel wordt gebruikt als heading en als label voor de button moet duidelijk zijn, omdat de inhoud niet altijd zichtbaar is.
|
|
38
|
+
- [WCAG eis 2.4.10](https://www.w3.org/TR/WCAG21/#section-headings): accordions die onderdeel vormen van de lopende tekst moeten section headings gebruiken.
|
|
39
|
+
|
|
17
40
|
## Referenties
|
|
18
41
|
|
|
19
42
|
- [W3C - Accordion Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/)
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
cursor: pointer;
|
|
19
19
|
display: flex;
|
|
20
20
|
font-family: var(--amsterdam-accordion-button-font-family);
|
|
21
|
-
font-size: var(--amsterdam-accordion-button-font-size
|
|
21
|
+
font-size: var(--amsterdam-accordion-button-narrow-font-size);
|
|
22
22
|
font-weight: var(--amsterdam-accordion-button-font-weight);
|
|
23
23
|
justify-content: space-between;
|
|
24
24
|
line-height: var(--amsterdam-accordion-button-line-height);
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
width: 100%;
|
|
28
28
|
|
|
29
29
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
30
|
-
font-size: var(--amsterdam-accordion-button-font-size
|
|
30
|
+
font-size: var(--amsterdam-accordion-button-wide-font-size);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
&:focus {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Blockquote
|
|
2
|
+
|
|
3
|
+
De blockquote (in het Nederlands: citaat) wordt gebruikt om uitspraken te accentueren. Een citaat is anders vormgegeven dan de broodtekst, zodat deze opvalt.
|
|
4
|
+
|
|
5
|
+
Let op: dit component voegt automatisch aanhalingstekens aan de tekst toe, dat hoef je niet zelf te doen.
|
|
6
|
+
|
|
7
|
+
## Richtlijnen
|
|
8
|
+
|
|
9
|
+
- Bij een citaat haal je letterlijk een schriftelijke of mondelinge tekst van iemand aan.
|
|
10
|
+
- Een citaat heeft een breedte van een halve of hele tekstkolom.
|
|
11
|
+
|
|
12
|
+
## Relevante WCAG eisen
|
|
13
|
+
|
|
14
|
+
- [WCAG 3.1.2](https://www.w3.org/WAI/WCAG21/Understanding/language-of-parts.html): wanneer het citaat in een andere taal is geschreven dan de pagina, dan moet het `lang` attribuut gebruikt worden om de taal duidelijk te maken.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../utils/breakpoint";
|
|
7
|
+
|
|
8
|
+
@mixin reset {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
break-after: avoid;
|
|
11
|
+
break-inside: avoid;
|
|
12
|
+
margin-block: 0;
|
|
13
|
+
margin-inline: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.amsterdam-blockquote {
|
|
17
|
+
color: var(--amsterdam-blockquote-color);
|
|
18
|
+
font-family: var(--amsterdam-blockquote-font-family);
|
|
19
|
+
font-size: var(--amsterdam-blockquote-narrow-font-size);
|
|
20
|
+
font-weight: var(--amsterdam-blockquote-font-weight);
|
|
21
|
+
line-height: var(--amsterdam-blockquote-line-height);
|
|
22
|
+
quotes: "“" "”";
|
|
23
|
+
|
|
24
|
+
&::before {
|
|
25
|
+
content: open-quote;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&::after {
|
|
29
|
+
content: close-quote;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
33
|
+
font-size: var(--amsterdam-blockquote-wide-font-size);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@include reset;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.amsterdam-blockquote--inverse-color {
|
|
40
|
+
color: var(--amsterdam-blockquote-inverse-color);
|
|
41
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Breadcrumb
|
|
2
|
+
|
|
3
|
+
De breadcrumb (in het Nederlands: kruimelpad) is een secundair navigatiepatroon dat een gebruiker helpt de structuur tussen niveaus in de website tot de huidige pagina te begrijpen. Gebruikers kunnen het gebruiken om door de structuur te navigeren.
|
|
4
|
+
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
### Zo gebruiken
|
|
8
|
+
|
|
9
|
+
Gebruik het kruimelpad alleen als het functioneel iets toevoegt voor de gebruiker en als de structuur ‘statisch’ is.
|
|
10
|
+
|
|
11
|
+
### Dit vermijden
|
|
12
|
+
|
|
13
|
+
Het kruimelpad wordt niet ingezet op een formulierpagina. Het leidt af van de taak van de gebruiker of kan per ongeluk als Progress Indicator gezien worden.
|
|
14
|
+
|
|
15
|
+
Het is een secundair navigatiepatroon. Het mag nooit de hoofdnavigatie vervangen.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license EUPL-1.2+
|
|
3
|
+
* Copyright (c) 2023 Gemeente Amsterdam
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@import "../../utils/breakpoint";
|
|
7
|
+
|
|
8
|
+
@mixin reset {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
margin-block: 0;
|
|
11
|
+
padding-inline: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.amsterdam-breadcrumb {
|
|
15
|
+
font-family: var(--amsterdam-breadcrumb-font-family, inherit);
|
|
16
|
+
font-size: var(--amsterdam-breadcrumb-narrow-font-size);
|
|
17
|
+
line-height: var(--amsterdam-breadcrumb-line-height);
|
|
18
|
+
|
|
19
|
+
@media screen and (width > $amsterdam-breakpoint) {
|
|
20
|
+
font-size: var(--amsterdam-breadcrumb-wide-font-size);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.amsterdam-breadcrumb__list {
|
|
25
|
+
break-after: avoid;
|
|
26
|
+
break-inside: avoid;
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-wrap: wrap;
|
|
29
|
+
gap: 0.5rem;
|
|
30
|
+
list-style: none;
|
|
31
|
+
|
|
32
|
+
@include reset;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.amsterdam-breadcrumb-item {
|
|
36
|
+
align-items: center;
|
|
37
|
+
display: flex;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.amsterdam-breadcrumb-item:not(:last-child)::after {
|
|
41
|
+
background-color: var(--amsterdam-breadcrumb-color);
|
|
42
|
+
clip-path: path("M 4.725,16 3.275,14.545 9.815,8 3.275,1.455 4.725,0 l 8,8 z");
|
|
43
|
+
content: "";
|
|
44
|
+
display: inline-block;
|
|
45
|
+
height: 16px;
|
|
46
|
+
margin-inline-start: 1rem;
|
|
47
|
+
width: 16px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.amsterdam-breadcrumb-item__link {
|
|
51
|
+
color: var(--amsterdam-breadcrumb-color);
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
outline-offset: var(--amsterdam-breadcrumb-item-link-outline-offset);
|
|
54
|
+
text-decoration: none;
|
|
55
|
+
|
|
56
|
+
&::first-letter {
|
|
57
|
+
text-transform: capitalize;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:focus,
|
|
61
|
+
&:hover,
|
|
62
|
+
&:active {
|
|
63
|
+
color: var(--amsterdam-breadcrumb-item-link-hover-color);
|
|
64
|
+
text-decoration: underline;
|
|
65
|
+
text-decoration-thickness: 2px;
|
|
66
|
+
text-underline-offset: 3px;
|
|
67
|
+
}
|
|
68
|
+
}
|
package/src/button/button.scss
CHANGED
|
@@ -7,13 +7,45 @@
|
|
|
7
7
|
@import "../../utils/breakpoint";
|
|
8
8
|
|
|
9
9
|
.amsterdam-button {
|
|
10
|
-
font-size: var(--amsterdam-button-font-size
|
|
10
|
+
font-size: var(--amsterdam-button-narrow-font-size);
|
|
11
11
|
|
|
12
12
|
@media screen and (width > $amsterdam-breakpoint) {
|
|
13
|
-
font-size: var(--amsterdam-button-font-size
|
|
13
|
+
font-size: var(--amsterdam-button-wide-font-size);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
.amsterdam-button--secondary
|
|
18
|
-
box-shadow: var(--amsterdam-button-secondary-
|
|
17
|
+
.amsterdam-button--secondary {
|
|
18
|
+
box-shadow: var(--amsterdam-button-secondary-box-shadow);
|
|
19
|
+
|
|
20
|
+
&:disabled,
|
|
21
|
+
[aria-disabled="true"] {
|
|
22
|
+
box-shadow: var(--amsterdam-button-secondary-disabled-box-shadow);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:hover:not(:disabled, [aria-disabled="true"]) {
|
|
26
|
+
box-shadow: var(--amsterdam-button-secondary-hover-box-shadow);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Specificity hack to be able to style secondary button focus state
|
|
31
|
+
// This isn't currently possible with the Utrecht component
|
|
32
|
+
// We should really pull this component in our own repo...
|
|
33
|
+
.amsterdam-button--secondary.amsterdam-button--secondary {
|
|
34
|
+
&:focus {
|
|
35
|
+
color: var(--amsterdam-button-secondary-focus-color);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.amsterdam-button--secondary:focus:not(:disabled, [aria-disabled="true"]) {
|
|
40
|
+
box-shadow: var(--amsterdam-button-secondary-focus-box-shadow);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.amsterdam-button--tertiary {
|
|
44
|
+
&:hover:not(:disabled, [aria-disabled="true"]) {
|
|
45
|
+
box-shadow: var(--amsterdam-button-tertiary-hover-box-shadow);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.amsterdam-button--tertiary:focus:not(:disabled, [aria-disabled="true"]) {
|
|
50
|
+
box-shadow: var(--amsterdam-button-tertiary-focus-box-shadow);
|
|
19
51
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Checkbox
|
|
2
|
+
|
|
3
|
+
De checkbox (in het Nederlands: selectievakje) wordt gebruikt om gebruikers een selectie te laten maken. Hij wordt ook gebruikt om gebruikers te laten weten dat ze akkoord gaan met specifieke voorwaarden.
|
|
4
|
+
|
|
5
|
+
## Richtlijnen
|
|
6
|
+
|
|
7
|
+
- Selectievakjes worden gebruikt voor 1 of meerdere keuzes die elkaar niet uitsluiten.
|
|
8
|
+
- Elk selectievakje werkt onafhankelijk van andere selectievakjes in een lijst op hetzelfde hiërarchische niveau. Het aanvinken van een extra vakje heeft geen invloed op andere selecties in die lijst.
|
|
9
|
+
- Je kunt een selectievakje wel gebruiken voor een bulkselectie of –deselectie van een hele lijst met selectievakjes, maar dan moet duidelijk zijn dat het bulkselectievakje op een ander hiërarchisch niveau zit dan de lijst die volledig wordt geselecteerd of gedeselecteerd.
|
|
10
|
+
- Een groep selectievakjes kan worden gebruikt om gegevens op een pagina, in een menu of binnen een component te filteren.
|
|
11
|
+
- Een selectievakje kan een antwoord op een gesloten vraag zijn, als er meerdere antwoorden mogelijk zijn.
|
|
12
|
+
- Een lijst van selectievakjes is verticaal gestapeld om leesbaarheid en bruikbaarheid te bevorderen.
|
|
13
|
+
- Een lijst van selectievakjes moet in een `fieldset` zitten, met een `legend` die beschrijft waar de lijst over gaat. Als de selectievakjes bijvoorbeeld worden gebruikt om antwoord op een vraag te krijgen, dan is de `legend` de vraag.
|
|
14
|
+
|
|
15
|
+
## Checkbox labels
|
|
16
|
+
|
|
17
|
+
Een label:
|
|
18
|
+
|
|
19
|
+
- ... begint met een hoofdletter
|
|
20
|
+
- ... heeft geen interpunctie aan het einde als het een enkele zin, woord of fragment is.
|
|
21
|
+
- ... is in de eerste persoon geschreven als het gaat om de vraag of de gebruiker akkoord gaat met de algemene voorwaarden
|
|
22
|
+
|
|
23
|
+
## Relevante WCAG eisen
|
|
24
|
+
|
|
25
|
+
- [WCAG 1.3.5](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html): het is zowel voor een gebruiker als programmatisch duidelijk wat het doel van een formulierveld is.
|
|
26
|
+
|
|
27
|
+
<!-- TODO: Checkbox is an interactive element, reference the general interactive elements docs when they're merged -->
|