diff --git a/tailoff/js/components/glide.component.ts b/tailoff/js/components/glide.component.ts index ebe32f04..98f9fb19 100644 --- a/tailoff/js/components/glide.component.ts +++ b/tailoff/js/components/glide.component.ts @@ -149,26 +149,30 @@ export class GlideComponent { const slider = document.getElementById(sliderID); const slides = slider.querySelectorAll('.glide__slide'); - const prevController = slider.querySelector("div[data-glide-el='controls'] .glide__arrow--left"); - const nextController = slider.querySelector("div[data-glide-el='controls'] .glide__arrow--right"); + const prevController = slider.querySelector("div[data-glide-el='controls'] .glide__arrow--left") as HTMLButtonElement; + const nextController = slider.querySelector("div[data-glide-el='controls'] .glide__arrow--right") as HTMLButtonElement; if (glide.index == 0) { prevController.classList.add('opacity-25'); prevController.classList.add('pointer-events-none'); prevController.classList.remove('pointer-events-auto'); + prevController.disabled = true; } else { prevController.classList.remove('opacity-25'); prevController.classList.remove('pointer-events-none'); prevController.classList.add('pointer-events-auto'); + prevController.disabled = false; } if (glide.index + glide.settings.perView >= slides.length) { nextController.classList.add('opacity-25'); nextController.classList.add('pointer-events-none'); nextController.classList.remove('pointer-events-auto'); + nextController.disabled = true; } else { nextController.classList.remove('opacity-25'); nextController.classList.remove('pointer-events-none'); nextController.classList.add('pointer-events-auto'); + nextController.disabled = false; } }); diff --git a/tailoff/js/components/toggle.component.ts b/tailoff/js/components/toggle.component.ts index 536192bc..e7dad20b 100644 --- a/tailoff/js/components/toggle.component.ts +++ b/tailoff/js/components/toggle.component.ts @@ -72,6 +72,20 @@ export class ToggleComponent { } this.toggleAction(trigger, target, changeClass, animation); }); + trigger.addEventListener('keydown', (e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault(); + if (group) { + const groupElement = document.querySelector(`#${group}`) as HTMLElement; + const activeEl = groupElement.querySelector('[data-s-toggle-target][aria-expanded="true"]'); + if (activeEl && activeEl !== trigger) { + const activeTarget = document.querySelector(`#${activeEl.getAttribute('data-s-toggle-target')}`); + this.toggleAction(activeEl, activeTarget, changeClass, animation); + } + } + this.toggleAction(trigger, target, changeClass, animation); + } + }); trigger.addEventListener('open', () => { this.toggleAction(trigger, target, changeClass, animation); diff --git a/tailoff/js/components/tooltip.component.ts b/tailoff/js/components/tooltip.component.ts index 6f477be9..0f3e336f 100644 --- a/tailoff/js/components/tooltip.component.ts +++ b/tailoff/js/components/tooltip.component.ts @@ -10,7 +10,11 @@ export class TooltipComponent { private async initTippy() { // @ts-ignore const tippy = await import('tippy.js'); - tippy.default('[data-tippy-content]'); + tippy.default('[data-tippy-content]', { + aria: { + content: 'describedby', + }, + }); tippy.default('[data-tippy-template]', { content(reference) { const id = reference.getAttribute('data-tippy-template'); @@ -18,6 +22,9 @@ export class TooltipComponent { return template.innerHTML; }, allowHTML: true, + aria: { + content: 'describedby', + }, }); } } diff --git a/templates/_site/_snippet/_content/_blocks/_slider.twig b/templates/_site/_snippet/_content/_blocks/_slider.twig index 6b71e8d1..ae62674f 100644 --- a/templates/_site/_snippet/_content/_blocks/_slider.twig +++ b/templates/_site/_snippet/_content/_blocks/_slider.twig @@ -29,11 +29,11 @@
- - diff --git a/templates/_site/_snippet/_global/_footer.twig b/templates/_site/_snippet/_global/_footer.twig index 000a3a93..4dc37ae9 100644 --- a/templates/_site/_snippet/_global/_footer.twig +++ b/templates/_site/_snippet/_global/_footer.twig @@ -4,8 +4,7 @@
- {{ svg('@webroot/frontend/img/site/logo.svg')|attr({ class: 'w-full max-w-logo', role: 'img', 'aria-label': 'Statik' }) }} - {{"Startpagina"|t}} +

{{ systemName }}

{% set generalInfo = craft.entries.section('contact').status(null).one() %} diff --git a/templates/_site/_snippet/_global/_header.twig b/templates/_site/_snippet/_global/_header.twig index f90a462f..ca9e166b 100644 --- a/templates/_site/_snippet/_global/_header.twig +++ b/templates/_site/_snippet/_global/_header.twig @@ -17,7 +17,7 @@ {% include "_site/_snippet/_nav/_language" %}
- diff --git a/templates/_site/_snippet/_nav/_doormat.twig b/templates/_site/_snippet/_nav/_doormat.twig index 4ceec730..6ed956db 100644 --- a/templates/_site/_snippet/_nav/_doormat.twig +++ b/templates/_site/_snippet/_nav/_doormat.twig @@ -10,7 +10,7 @@ {% else %}
  • {{ node.name }} + {% if node.blank %}target="_blank" rel="noopener"{% endif %} {% if node.active %}aria-current="page"{% endif %}>{{ node.name }}
  • {% endif %} @@ -22,7 +22,7 @@
    @@ -64,7 +64,7 @@ - +
    @@ -86,7 +86,7 @@ - +
    diff --git a/templates/jsPlugins/chipFilter.twig b/templates/jsPlugins/chipFilter.twig index e596c0a7..e442359a 100644 --- a/templates/jsPlugins/chipFilter.twig +++ b/templates/jsPlugins/chipFilter.twig @@ -18,10 +18,11 @@ value="{{ category.id }}" {% if category.id in catQuery %} checked {% endif %}/> {% if category.children|length %} - {% endif %}
    @@ -151,7 +152,7 @@ {% endif %} - + {% endif %} @@ -169,8 +170,8 @@ {{ "Resultaten gefilterd op:"|t }} {% if catQuery %} {% for category in craft.entries.section('newsCategories').id(catQuery).all() %} - {{ category.title }} - diff --git a/templates/jsPlugins/dropdown.twig b/templates/jsPlugins/dropdown.twig index 8e8a197e..acc923ca 100644 --- a/templates/jsPlugins/dropdown.twig +++ b/templates/jsPlugins/dropdown.twig @@ -23,7 +23,7 @@
    - +
    • Item 1
    • Item 2
    • @@ -40,7 +40,7 @@

      Lorem, ipsum dolor sit amet consectetur adipisicing elit. Facere nostrum, sunt dolorum libero magni quidem in optio odit sint quae nesciunt distinctio vitae molestias laborum maiores est cum deserunt expedita? Nihil voluptates ullam iste unde. Suscipit cum atque deleniti blanditiis accusantium nulla eveniet, et sapiente perferendis asperiores harum reprehenderit architecto, minima illo vitae est incidunt cupiditate quod voluptates expedita, iure officia. Earum nihil quasi unde et. Molestias excepturi possimus ea, aut aliquam ducimus assumenda dolorum necessitatibus quod fugit repellendus dolore, aliquid harum. Laborum adipisci impedit eligendi aspernatur atque officiis odit rem earum sunt, unde, deleniti numquam, vitae iste velit eius.

      Lorem, ipsum dolor sit amet consectetur adipisicing elit. Facere nostrum, sunt dolorum libero magni quidem in optio odit sint quae nesciunt distinctio vitae molestias laborum maiores est cum deserunt expedita? Nihil voluptates ullam iste unde. Suscipit cum atque deleniti blanditiis accusantium nulla eveniet, et sapiente perferendis asperiores harum reprehenderit architecto, minima illo vitae est incidunt cupiditate quod voluptates expedita, iure officia. Earum nihil quasi unde et. Molestias excepturi possimus ea, aut aliquam ducimus assumenda dolorum necessitatibus quod fugit repellendus dolore, aliquid harum. Laborum adipisci impedit eligendi aspernatur atque officiis odit rem earum sunt, unde, deleniti numquam, vitae iste velit eius.

      - +
      • Item 1
      • Item 2
      • diff --git a/templates/jsPlugins/filter.twig b/templates/jsPlugins/filter.twig index f65c48a2..4810a6cb 100644 --- a/templates/jsPlugins/filter.twig +++ b/templates/jsPlugins/filter.twig @@ -18,7 +18,7 @@ value="{{ category.id }}" {% if category.id in catQuery %} checked {% endif %}/> {% if category.children|length %} - + {% for category in categories|slice(3,categories|length - 3) %}
    @@ -169,7 +169,8 @@ {{ "Resultaten gefilterd op:"|t }} {% if searchQuery %} {{ searchQuery }} - @@ -177,7 +178,7 @@ {% if catQuery %} {% for category in categories.id(catQuery).all() %} {{ category.title }} - diff --git a/templates/jsPlugins/filterButton.twig b/templates/jsPlugins/filterButton.twig index b02c8d32..a6bc55cc 100644 --- a/templates/jsPlugins/filterButton.twig +++ b/templates/jsPlugins/filterButton.twig @@ -47,7 +47,7 @@
    - + {% set categories = craft.entries.section('newsCategories').level(1) %} {% if categories|length %} {% for cat in categories %} diff --git a/templates/jsPlugins/formValidation.twig b/templates/jsPlugins/formValidation.twig index 139dbd60..23294d6c 100644 --- a/templates/jsPlugins/formValidation.twig +++ b/templates/jsPlugins/formValidation.twig @@ -304,7 +304,7 @@
    - +
    diff --git a/templates/jsPlugins/matrix.twig b/templates/jsPlugins/matrix.twig index 5d522f9d..326dbc49 100644 --- a/templates/jsPlugins/matrix.twig +++ b/templates/jsPlugins/matrix.twig @@ -44,8 +44,8 @@ We like you to check this checkbox if you add input fields
    - - + +