dso-toolkit 93.0.1 → 95.0.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +9 -15
  3. package/dist/dso.css +57 -346
  4. package/dist/dso.css.map +1 -1
  5. package/dist/dso.min.css +1 -1
  6. package/dist/dso.min.css.map +1 -1
  7. package/package.json +13 -12
  8. package/src/components/banner/banner.mixins.scss +2 -5
  9. package/src/components/button/button.mixins.scss +5 -2
  10. package/src/components/button/button.scss +2 -1
  11. package/src/components/delete/delete.mixins.scss +2 -2
  12. package/src/components/insert/insert.mixins.scss +1 -1
  13. package/src/components/link/link.mixins.scss +1 -0
  14. package/src/dso.scss +0 -1
  15. package/src/components/action-list/readme.md +0 -1
  16. package/src/components/alert/readme.md +0 -5
  17. package/src/components/application-heading/readme.md +0 -5
  18. package/src/components/attachments-counter/readme.md +0 -5
  19. package/src/components/badge/readme.md +0 -5
  20. package/src/components/banner/readme.md +0 -1
  21. package/src/components/breadcrumbs/readme.md +0 -1
  22. package/src/components/button/readme.md +0 -10
  23. package/src/components/button-row/readme.md +0 -1
  24. package/src/components/card/readme.md +0 -3
  25. package/src/components/card-grid/readme.md +0 -1
  26. package/src/components/card-list/readme.md +0 -1
  27. package/src/components/context/readme.md +0 -1
  28. package/src/components/definition-list/readme.md +0 -1
  29. package/src/components/description/readme.md +0 -1
  30. package/src/components/document-header/readme.md +0 -10
  31. package/src/components/dropdown-menu/readme.md +0 -45
  32. package/src/components/expandable/readme.md +0 -1
  33. package/src/components/footer/readme.md +0 -1
  34. package/src/components/footnotes/readme.md +0 -1
  35. package/src/components/form/readme.md +0 -40
  36. package/src/components/form-buttons/readme.md +0 -1
  37. package/src/components/form-group/readme.md +0 -40
  38. package/src/components/highlight-box/readme.md +0 -1
  39. package/src/components/image/readme.md +0 -1
  40. package/src/components/info/readme.md +0 -3
  41. package/src/components/info-button/readme.md +0 -3
  42. package/src/components/justify-form-groups/readme.md +0 -5
  43. package/src/components/label/readme.md +0 -7
  44. package/src/components/label-group/readme.md +0 -1
  45. package/src/components/link/readme.md +0 -5
  46. package/src/components/link-list/readme.md +0 -1
  47. package/src/components/list/readme.md +0 -8
  48. package/src/components/list-button/readme.md +0 -1
  49. package/src/components/modal/_index.scss +0 -2
  50. package/src/components/modal/modal.mixins.scss +0 -249
  51. package/src/components/modal/modal.scss +0 -63
  52. package/src/components/modal/modal.variables.scss +0 -23
  53. package/src/components/modal/readme.md +0 -3
  54. package/src/components/navbar/readme.md +0 -1
  55. package/src/components/paragraph/readme.md +0 -1
  56. package/src/components/progress-indicator/readme.md +0 -6
  57. package/src/components/rich-content/readme.md +0 -1
  58. package/src/components/row-equal-heights/readme.md +0 -1
  59. package/src/components/scrollable/readme.md +0 -0
  60. package/src/components/search-bar/readme.md +0 -1
  61. package/src/components/shopping-cart/readme.md +0 -1
  62. package/src/components/tabs/readme.md +0 -17
  63. package/src/components/tile/readme.md +0 -1
  64. package/src/components/tile-grid/readme.md +0 -1
@@ -1,45 +0,0 @@
1
- # `.dso-dropdown-menu`
2
-
3
- ## Implementatie
4
-
5
- Het openen en sluiten van de dropdown button moet worden ondersteund met muis-, touch- en toetsenbordbediening.
6
- De scripting zal zelf geïmplementeerd moeten worden, waarbij het te programmeren gedrag op de diverse relevante toetsen gelijk moet zijn aan de native browser dropdown/select werkvorm (en het Web Component).
7
-
8
- - `event.code` `ArrowUp` : omhoog, vorige 'option', zelfde als tab
9
- - `event.code` `ArrowDown` : omlaag, volgende 'option', zelfde als shift-tab
10
- - `event.code` `Escape` : sluit dropdown, geen keuze maken
11
- - `event.code` `Space` : maak keuze
12
-
13
- ## Voorschriften/algemeen
14
-
15
- - `.dso-dropdown-menu` is de root van het component, dat bestaat uit een `button` en het daadwerkelijke menu, de `.dso-dropdown-options`;
16
- - `.dso-dropdown-options` heeft `role="menu"` en verwijst met `aria-labelledby` naar de `button`;
17
- - `.dso-dropdown-options` wordt getoond wanneer `.dso-dropdown-menu` de class `dso-open` heeft;
18
- - de links in het menu krijgen `role="menuitemradio"` en het geselecteerde item `aria-checked="true"`;
19
- - `button` heeft attribute `aria-haspopup="menu"` om aan te duiden dat deze een menu bedient, en moet een `id` hebben waarnaar verwezen wordt vanuit `.dso-dropdown-options` met een `aria-labelledby`-attribuut
20
-
21
- ### Menu ingeklapt
22
-
23
- - `.dso-dropdown-menu` geen class `dso-open`
24
- - `button` attribute `aria-expanded="false"`
25
-
26
- ```
27
- <div class="dso-dropdown-menu">
28
- <button type="button" aria-haspopup="true" aria-expanded="false" class="dso-tertiary">
29
- <div class="dso-dropdown-options" ... > ...
30
- </div>
31
- ```
32
-
33
- ## Menu uitgeklapt
34
-
35
- - `div.dropdown` heeft class `dso-open`
36
- - `button` attribute `aria-expanded="true"`
37
-
38
- ```
39
- <div class="dso-dropdown-menu dso-open">
40
- <button type="button" aria-haspopup="true" aria-expanded="true" class="dso-tertiary">
41
- <div class="dso-dropdown-options" ... > ...
42
- </div>
43
- ```
44
-
45
- Note: de `button` mag class `dso-primary`, `dso-secondary` of `dso-tertiary` hebben, afhankelijk van de toepassing.
@@ -1 +0,0 @@
1
- # `<dso-expandable>`
@@ -1 +0,0 @@
1
- # `<footer>`
@@ -1 +0,0 @@
1
- # `.dso-footnote-reference` and `.dso-footnotes`
@@ -1,40 +0,0 @@
1
- # `.form, form, .dso-section-body`
2
-
3
- ## `.form-group`
4
-
5
- Een formulier bestaat uit Form Group. Elke veld/werkvorm heeft z'n eigen `.form-group`.
6
-
7
- Als de gebruiker een ongeldige waarde invoert moet er `.dso-invalid` op `.form-group` worden geplaatst:
8
-
9
- ```html
10
- <div class="form-group dso-*** dso-invalid">[...]</div>
11
- ```
12
-
13
- Als het formulier daarna weer geldig wordt gemaakt moet de `.dso-invalid` class vervangen worden door `.dso-valid`:
14
-
15
- ```html
16
- <div class="form-group dso-*** dso-valid">[...]</div>
17
- ```
18
-
19
- ### `.form-group.dso-input`
20
-
21
- Dit is een standaard invoerveld (`<input>`). Dit veld wordt gekoppeld aan een `<label>`.
22
-
23
- - Gebruik `type="email"` voor het automatisch valideren van een e-mailadres.
24
- - Gebruik `type="password"` voor wachtwoorden.
25
- - Gebruik `type="url"` voor het invoeren van URLs.
26
- - Gebruik `type="tel"` voor het invoeren van een telefoonnummer.
27
- - Gebruik **niet** `type="date"` maar het Web Component "Date Picker".
28
-
29
- ### `.form-group.dso-checkboxes`
30
-
31
- Een Form Group "checkboxes" is een `fieldset` element in plaats van een `div`:
32
-
33
- ```html
34
- <fieldset class="form-group dso-checkboxes"></fieldset>
35
- ```
36
-
37
- ### `.form-group.dso-files`
38
-
39
- Als er geen bestanden zijn geüpload in een Form Group "files" dan wordt er geen "lege" unordered list `dso-filelist` in het formulier geplaatst.
40
- Pas na de eerste upload is er een `ul` met 1 `li`st-item in het formulier aanwezig.
@@ -1 +0,0 @@
1
- # `.dso-button-row`
@@ -1,40 +0,0 @@
1
- # `.form, form, .dso-section-body`
2
-
3
- ## `.form-group`
4
-
5
- Een formulier bestaat uit Form Group. Elke veld/werkvorm heeft z'n eigen `.form-group`.
6
-
7
- Als de gebruiker een ongeldige waarde invoert moet er `.dso-invalid` op `.form-group` worden geplaatst:
8
-
9
- ```html
10
- <div class="form-group dso-*** dso-invalid">[...]</div>
11
- ```
12
-
13
- Als het formulier daarna weer geldig wordt gemaakt moet de `.dso-invalid` class vervangen worden door `.dso-valid`:
14
-
15
- ```html
16
- <div class="form-group dso-*** dso-valid">[...]</div>
17
- ```
18
-
19
- ### `.form-group.dso-input`
20
-
21
- Dit is een standaard invoerveld (`<input>`). Dit veld wordt gekoppeld aan een `<label>`.
22
-
23
- - Gebruik `type="email"` voor het automatisch valideren van een e-mailadres.
24
- - Gebruik `type="password"` voor wachtwoorden.
25
- - Gebruik `type="url"` voor het invoeren van URLs.
26
- - Gebruik `type="tel"` voor het invoeren van een telefoonnummer.
27
- - Gebruik **niet** `type="date"` maar het Web Component "Date Picker".
28
-
29
- ### `.form-group.dso-checkboxes`
30
-
31
- Een Form Group "checkboxes" is een `fieldset` element in plaats van een `div`:
32
-
33
- ```html
34
- <fieldset class="form-group dso-checkboxes"></fieldset>
35
- ```
36
-
37
- ### `.form-group.dso-files`
38
-
39
- Als er geen bestanden zijn geüpload in een Form Group "files" dan wordt er geen "lege" unordered list `dso-filelist` in het formulier geplaatst.
40
- Pas na de eerste upload is er een `ul` met 1 `li`st-item in het formulier aanwezig.
@@ -1 +0,0 @@
1
- # `.dso-highlight-box`
@@ -1 +0,0 @@
1
- # `.img-responsive`, `.img-circle`
@@ -1,3 +0,0 @@
1
- # `.dso-info:not(.dso-accordion-section)`
2
-
3
- The specific selector is because `.dso-info` is also used as a modifier class.
@@ -1,3 +0,0 @@
1
- # `.dso-info-button`
2
-
3
- De class `.dso-info-open` (bij getoonde toelichting) maakt de button groen.
@@ -1,5 +0,0 @@
1
- # `.dso-justify-form-groups`
2
-
3
- ## **Let op!**
4
-
5
- Bij justify-form-groups moet het aantal velden opgegeven worden als extra classname: `.form-groups-n`, waarbij `n` moet worden vervangen met het aantal `.form-group` velden er in het `.dso-justify-form-groups` staan. Maximaal kan dit **3** zijn, `.dso-form-buttons` wordt hierbij niet meegeteld.
@@ -1,7 +0,0 @@
1
- # `.dso-label`
2
-
3
- **Let op**: In de `.sr-only` moet _na_ de dubbele punt (:) een whitespace staan.
4
-
5
- Deze staat nu niet in de markup voorschriften maar wordt wel gerendered in het DOM. Dit is een bug in een Storybook plugin. Zie #1163 voor meer informatie.
6
-
7
- De hover state voor het Web Component is onderdeel van de werkvorm, voor de CSS versie moet deze door developers worden geimplementeerd dmv. class `.dso-label-hover` op de `<span class="dso-label">`;
@@ -1 +0,0 @@
1
- # `.dso-label-group`
@@ -1,5 +0,0 @@
1
- # `a`
2
-
3
- ## Technische opmerkingen
4
-
5
- Plaats bij gebruik van de "Link With Icon"-variant de tekst in een `<span>text hier</span>` om de afstand tot het icoon te creëren.
@@ -1 +0,0 @@
1
- # `.dso-link-list`
@@ -1,8 +0,0 @@
1
- # `ul`, `ol`, `.list-group`, `ul.dso-columns-list`, `ol.dso-columns-list`, `ol.dso-list-ordered-action`, `ol.dso-action-list`, `ul.dso-action-list`
2
-
3
- ## Status
4
-
5
- Een List Item (`<li>`) kan een status hebben. Een status bestaat uit een icon en een toelichting. De status wordt met een modifier class op het List Item gezet.
6
-
7
- - Forbidden (`dso-forbidden`)
8
- - Status Warning (`dso-status-warning`)
@@ -1 +0,0 @@
1
- # `.dso-list-button`
@@ -1,2 +0,0 @@
1
- @forward "modal.mixins";
2
- @forward "modal.variables";
@@ -1,249 +0,0 @@
1
- @use "sass:color";
2
-
3
- @use "../../variables/colors";
4
- @use "../../variables/media-query-breakpoints";
5
- @use "../../variables/units";
6
- @use "../../variables/zindex";
7
-
8
- @use "../button";
9
- @use "../rich-content";
10
-
11
- @use "modal.variables" as modal-variables;
12
-
13
- @keyframes ModalFadeIn {
14
- 0% {
15
- opacity: 0;
16
- }
17
-
18
- 100% {
19
- opacity: 1;
20
- }
21
- }
22
-
23
- @mixin root() {
24
- // dialog
25
- // ------
26
- // overwrite UA styles:
27
- overflow: visible;
28
- padding: 0;
29
- border: 0;
30
-
31
- &::backdrop {
32
- background-color: color.scale(modal-variables.$backdrop-bg, $alpha: modal-variables.$backdrop-opacity);
33
- }
34
-
35
- .dso-dialog {
36
- inline-size: modal-variables.$max-inline-size;
37
-
38
- background-color: modal-variables.$content-bg;
39
-
40
- opacity: 1;
41
-
42
- box-shadow: 0 #{units.$u1} #{units.$u3} 0 rgba(25, 25, 25, 0.4);
43
- animation: 200ms ease-out 0s 1 ModalFadeIn;
44
- }
45
-
46
- .dso-header {
47
- position: relative;
48
-
49
- padding: modal-variables.$header-padding;
50
-
51
- border-block-end: 1px solid modal-variables.$border-color;
52
-
53
- h2 {
54
- max-inline-size: calc(100% - #{units.$u3});
55
-
56
- margin: 0;
57
-
58
- color: colors.$bosgroen;
59
- }
60
-
61
- .dso-close {
62
- position: absolute;
63
- inset-block-start: units.$u2;
64
- inset-inline-end: 13px;
65
-
66
- block-size: modal-variables.$close-icon-size;
67
- inline-size: modal-variables.$close-icon-size;
68
-
69
- padding: 0;
70
-
71
- background-color: transparent;
72
-
73
- border: 0;
74
-
75
- text-align: center;
76
- }
77
- }
78
-
79
- > .dso-dialog > .dso-body {
80
- // stylelint-disable-next-line scss/operator-no-newline-after -- disabled because of prettier newline
81
- $dso-body-unavailable-height: (2 * modal-variables.$header-padding) +
82
- (modal-variables.$footer-button-block-size + modal-variables.$footer-padding);
83
-
84
- @include rich-content.children();
85
-
86
- block-size: calc(100% - #{modal-variables.$body-padding * 2 + units.$u4} - 1.5rem);
87
- max-block-size: calc(#{modal-variables.$max-block-size} - #{$dso-body-unavailable-height + units.$u4} - 1.5em);
88
- min-block-size: 1.5rem;
89
- overflow-x: auto;
90
-
91
- padding: modal-variables.$body-padding;
92
- }
93
-
94
- > .dso-dialog > dso-scrollable {
95
- // stylelint-disable-next-line scss/operator-no-newline-after -- disabled because of prettier newline
96
- $dso-body-unavailable-height: (2 * modal-variables.$header-padding) +
97
- (modal-variables.$footer-button-block-size + modal-variables.$footer-padding);
98
-
99
- block-size: calc(100% - #{modal-variables.$body-padding * 2 + units.$u4} - 1.5rem);
100
- max-block-size: calc(#{modal-variables.$max-block-size} - #{$dso-body-unavailable-height + units.$u4} - 1.5em);
101
- min-block-size: modal-variables.$body-min-block-size;
102
-
103
- .dso-body {
104
- @include rich-content.children();
105
-
106
- padding: modal-variables.$body-padding;
107
- }
108
- }
109
-
110
- .dso-body {
111
- &:focus-visible {
112
- outline: none;
113
- }
114
- }
115
-
116
- .dso-footer {
117
- @include modal-wide-buttons();
118
-
119
- min-block-size: modal-variables.$footer-button-block-size + modal-variables.$footer-padding;
120
-
121
- padding-block: calc(modal-variables.$footer-padding / 2);
122
- padding-inline: modal-variables.$footer-padding;
123
-
124
- text-align: end;
125
- }
126
-
127
- @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {
128
- .dso-footer {
129
- #{button.$button-adjacent-secondary} {
130
- margin-inline-start: units.$u2;
131
- }
132
-
133
- #{button.$button-adjacent-tertiary} {
134
- margin-inline-start: 0;
135
- }
136
- }
137
- }
138
-
139
- @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {
140
- .dso-dialog {
141
- max-inline-size: 100%;
142
-
143
- margin-block-start: 0;
144
- }
145
-
146
- .dso-footer {
147
- #{button.$button-adjacent} {
148
- margin-inline-start: 0;
149
- }
150
-
151
- button {
152
- inline-size: 100%;
153
-
154
- text-align: center;
155
-
156
- + button {
157
- margin-block-start: units.$u1;
158
- }
159
-
160
- &.dso-tertiary {
161
- &,
162
- span {
163
- float: none;
164
- }
165
- }
166
- }
167
- }
168
- }
169
-
170
- // special query for height
171
- @media screen and (max-height: modal-variables.$small-modal-vh) {
172
- .dso-dialog {
173
- min-block-size: modal-variables.$min-modal-block-size;
174
-
175
- margin-block-start: units.$u1;
176
- margin-block-end: units.$u1;
177
- }
178
-
179
- .dso-header {
180
- padding-block: #{units.$u1};
181
- padding-inline: #{units.$u2};
182
-
183
- .dso-close {
184
- inset-block-start: units.$u1;
185
- }
186
- }
187
-
188
- .dso-body {
189
- padding-block: #{units.$u2};
190
- padding-inline: #{units.$u3};
191
- }
192
-
193
- .dso-footer {
194
- min-block-size: auto;
195
- overflow: auto;
196
-
197
- padding-block: modal-variables.$footer-padding-small-modal-vh;
198
- padding-inline: modal-variables.$footer-padding;
199
- }
200
- }
201
- }
202
-
203
- @mixin modal-wide-buttons() {
204
- @media screen and (max-width: media-query-breakpoints.$screen-xs-max) {
205
- #{button.$button-adjacent} {
206
- margin-inline-start: 0;
207
- }
208
-
209
- button {
210
- inline-size: 100%;
211
-
212
- text-align: center;
213
-
214
- + button {
215
- margin-block-start: units.$u1;
216
- }
217
-
218
- &.dso-tertiary {
219
- &,
220
- span {
221
- float: none;
222
- }
223
- }
224
- }
225
- }
226
- }
227
-
228
- @mixin fullscreen() {
229
- inline-size: 100dvi;
230
- block-size: 100dvb;
231
-
232
- .dso-dialog {
233
- display: flex;
234
- flex-direction: column;
235
-
236
- inline-size: 100%;
237
- block-size: 100%;
238
-
239
- > dso-scrollable {
240
- flex-grow: 1;
241
-
242
- max-block-size: unset;
243
- }
244
- }
245
-
246
- .dso-footer {
247
- flex-shrink: 0;
248
- }
249
- }
@@ -1,63 +0,0 @@
1
- @use "../../variables/media-query-breakpoints";
2
- @use "../../variables/zindex";
3
- @use "../button";
4
- @use "../icon";
5
- @use "../rich-content";
6
- @use "../modal";
7
-
8
- @use "../../di";
9
-
10
- body:has(dialog[open]),
11
- body:has(dso-modal.hydrated) {
12
- // block scrolling of the body when a dialog is open
13
- overflow: hidden;
14
- }
15
-
16
- .dso-modal {
17
- @include modal.root();
18
-
19
- &.dso-fullscreen {
20
- @include modal.fullscreen();
21
- }
22
-
23
- .dso-close {
24
- &::before {
25
- @include di.base("cross", icon.$size, middle);
26
-
27
- content: "";
28
- display: inline-block;
29
- }
30
- }
31
-
32
- .dso-footer {
33
- .dso-tertiary {
34
- float: inline-start;
35
- line-height: calc(1.5em - 1px);
36
- padding-block: button.$block-padding;
37
- padding-inline: 0;
38
- position: relative;
39
- }
40
- }
41
-
42
- @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {
43
- @include modal.fullscreen();
44
- }
45
- }
46
-
47
- dso-modal {
48
- [slot="body"] {
49
- @include rich-content.children();
50
- }
51
-
52
- [slot="footer"] {
53
- @include modal.modal-wide-buttons();
54
-
55
- .dso-tertiary {
56
- float: inline-start;
57
- line-height: calc(1.5em - 1px);
58
- padding-block: button.$block-padding;
59
- padding-inline: 0;
60
- position: relative;
61
- }
62
- }
63
- }
@@ -1,23 +0,0 @@
1
- @use "../../variables/colors";
2
- @use "../../variables/units";
3
-
4
- $max-inline-size: 640px;
5
- $max-block-size: 70vh;
6
-
7
- $small-modal-vh: 380px;
8
- $min-modal-block-size: 216px;
9
-
10
- $backdrop-bg: colors.$wit;
11
- $backdrop-opacity: -20%;
12
- $content-bg: colors.$wit;
13
- $border-color: colors.$grijs-20;
14
-
15
- $close-icon-size: units.$u4;
16
- $close-icon-color: colors.$grasgroen;
17
-
18
- $header-padding: units.$u2;
19
- $body-min-block-size: 6.5rem;
20
- $body-padding: units.$u4;
21
- $footer-padding: units.$u4;
22
- $footer-padding-small-modal-vh: units.$u1;
23
- $footer-button-block-size: units.$u6;
@@ -1,3 +0,0 @@
1
- # `.dso-modal`
2
-
3
- Als een modal actief is zal de `body` dit door middel van CSS automatisch detecteren, en het scrollgedrag 'achter' de modal uitzetten.
@@ -1 +0,0 @@
1
- # `.dso-navbar`
@@ -1 +0,0 @@
1
- # `<p>`
@@ -1,6 +0,0 @@
1
- # `.dso-progress-indicator`
2
-
3
- - toevoeging class `dso-block` zorgt voor horizontaal en verticaal gecentreerde progress-indicator;
4
- - icm. class `dso-small` zorgt dit voor een (afhankelijk van de inhoud) minimaal 48px hoge progress indicator;
5
- - icm. class `dso-medium` zorgt dit voor een (afhankelijk van de inhoud) minimaal 64px hoge progress indicator;
6
- - icm. class `dso-large` zorgt dit voor een (afhankelijk van de inhoud) minimaal 96px hoge progress indicator;
@@ -1 +0,0 @@
1
- # `.dso-rich-content`
@@ -1 +0,0 @@
1
- # `.row.dso-equal-heights`
File without changes
@@ -1 +0,0 @@
1
- # `.dso-search-bar`
@@ -1 +0,0 @@
1
- # `.dso-shopping-cart`
@@ -1,17 +0,0 @@
1
- # `ul.nav.nav-tabs`
2
-
3
- De rollen `tablist`, `tab` en `tabpanel` tonen de elementen `<ul>`, `<a>` en `<div>` als een verzameling tabbladen en bijbehorende tabbladen in de toegankelijkheidsboom.
4
-
5
- De rol `presentation` voorkomt dat de `<li>`-elementen in kaart worden gebracht in de toegankelijkheidsboom.
6
-
7
- Het `aria-selected` kenmerk geeft aan welk tabblad momenteel is geselecteerd.
8
-
9
- Het `tabindex`-attribuut zorgt ervoor dat alleen het momenteel geselecteerde tabblad in de tabvolgorde wordt opgenomen.
10
-
11
- Het `hidden` attribuut verbergt alles behalve het momenteel weergegeven tabpaneel voor weergave.
12
-
13
- Het kenmerk `aria-controls` legt een relatie tussen elk tabblad en het bijbehorende tabblad.
14
-
15
- Het kenmerk `aria-labelledby` hergebruikt de naam van het tabblad als de toegankelijke naam van het bijbehorende tabblad.
16
-
17
- De `click`- en `keydown`- event listeners leggen de verwachte muis- en toetsenbordgebeurtenissen vast voor het activeren van de tabbladen. Scriptend moet ervoor gezorgd worden dat de a daarin niet meer reageert.
@@ -1 +0,0 @@
1
- # `.dso-tile`
@@ -1 +0,0 @@
1
- # `.dso-tile-grid`