Keep multiselect pulldown sliders active in off state

This commit is contained in:
2026-05-27 10:37:29 +02:00
parent 2d49a1dd18
commit e9c1952e57
+18 -28
View File
@@ -36,7 +36,7 @@
<span>Checkbox 1</span>
</label>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 1: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -46,19 +46,18 @@
</button>
<span class="sg-label">Slider 1</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="6.5"
aria-label="Slider 1 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">6.5</output>
</label>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 2: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -68,19 +67,18 @@
</button>
<span class="sg-label">Slider 2</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="9.5"
aria-label="Slider 2 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">9.5</output>
</label>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 3: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -90,19 +88,18 @@
</button>
<span class="sg-label">Slider 3</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="5.0"
aria-label="Slider 3 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">5.0</output>
</label>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 4: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -112,14 +109,13 @@
</button>
<span class="sg-label">Slider 4</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="6.5"
aria-label="Slider 4 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">6.5</output>
</label>
@@ -128,7 +124,7 @@
<section class="sg-form-sections-card__chapter" aria-labelledby="multiselect-block-2">
<h2 id="multiselect-block-2" class="sg-strong sg-form-sections-card__chapter-title">Block 2</h2>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 5: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -138,19 +134,18 @@
</button>
<span class="sg-label">Slider 5</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="3.0"
aria-label="Slider 5 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">3.0</output>
</label>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 6: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -160,19 +155,18 @@
</button>
<span class="sg-label">Slider 6</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="2.5"
aria-label="Slider 6 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">2.5</output>
</label>
<label class="sg-slider-row sg-slider-row--inactive-selectable" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<label class="sg-slider-row" data-component="slider" data-component-state="inactive-selectable" data-activatable="true">
<button class="sg-mode-toggle sg-mode-toggle--local sg-activation-mode-toggle" type="button" data-active="absolute" aria-label="Aktivierung Slider 7: aus">
<span class="sg-mode-toggle__switch" aria-hidden="true">
<span class="sg-activation-mode-toggle__switch-label sg-activation-mode-toggle__switch-label--left">aus</span>
@@ -182,14 +176,13 @@
</button>
<span class="sg-label">Slider 7</span>
<input
class="sg-interaction-element sg-slider sg-form-inactive-selectable"
class="sg-interaction-element sg-slider sg-form-active"
type="range"
min="1"
max="10"
step="0.1"
value="1.6"
aria-label="Slider 7 von 1 bis 10"
disabled
>
<output class="sg-slider-value" for="slider">1.6</output>
</label>
@@ -316,10 +309,10 @@
return;
}
sliderRow.dataset.componentState = isActive ? 'active' : 'inactive-selectable';
sliderRow.classList.toggle('sg-slider-row--inactive-selectable', !isActive);
slider.classList.toggle('sg-form-active', isActive);
slider.classList.toggle('sg-form-inactive-selectable', !isActive);
slider.disabled = !isActive;
sliderRow.classList.remove('sg-slider-row--inactive-selectable');
slider.classList.add('sg-form-active');
slider.classList.remove('sg-form-inactive-selectable');
slider.disabled = false;
return;
}
@@ -431,9 +424,6 @@
};
slider.addEventListener('input', () => {
if (row.dataset.activatable === 'true' && row.dataset.componentState !== 'active') {
return;
}
updateSliderState();
});