Merge pull request #15466 from itk-dev/feature/accessibility-dropdown-model-selector

Feat: accessibility in dropdown model selector
This commit is contained in:
Tim Jaeryang Baek 2025-07-02 12:10:29 +04:00 committed by GitHub
commit 40fc1a1f95
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 6 deletions

View file

@ -49,7 +49,7 @@
{#each selectedModels as selectedModel, selectedModelIdx} {#each selectedModels as selectedModel, selectedModelIdx}
<div class="flex w-full max-w-fit"> <div class="flex w-full max-w-fit">
<div class="overflow-hidden w-full"> <div class="overflow-hidden w-full">
<div class="mr-1 max-w-full"> <div class="max-w-full {($settings?.highContrastMode ?? false) ? 'm-1' : 'mr-1'}">
<Selector <Selector
id={`${selectedModelIdx}`} id={`${selectedModelIdx}`}
placeholder={$i18n.t('Select a model')} placeholder={$i18n.t('Select a model')}

View file

@ -346,12 +346,17 @@
closeFocus={false} closeFocus={false}
> >
<DropdownMenu.Trigger <DropdownMenu.Trigger
class="relative w-full font-primary" class="relative w-full font-primary {($settings?.highContrastMode ?? false)
? ''
: 'outline-hidden focus:outline-hidden'}"
aria-label={placeholder} aria-label={placeholder}
id="model-selector-{id}-button" id="model-selector-{id}-button"
> >
<button <div
class="flex w-full text-left px-0.5 outline-hidden bg-transparent truncate {triggerClassName} justify-between font-medium placeholder-gray-400 focus:outline-hidden" class="flex w-full text-left px-0.5 bg-transparent truncate {triggerClassName} justify-between font-medium {($settings?.highContrastMode ??
false)
? 'dark:placeholder-gray-100 placeholder-gray-800'
: 'placeholder-gray-400'}"
on:mouseenter={async () => { on:mouseenter={async () => {
models.set( models.set(
await getModels( await getModels(
@ -360,7 +365,6 @@
) )
); );
}} }}
type="button"
> >
{#if selectedModel} {#if selectedModel}
{selectedModel.label} {selectedModel.label}
@ -368,7 +372,7 @@
{placeholder} {placeholder}
{/if} {/if}
<ChevronDown className=" self-center ml-2 size-3" strokeWidth="2.5" /> <ChevronDown className=" self-center ml-2 size-3" strokeWidth="2.5" />
</button> </div>
</DropdownMenu.Trigger> </DropdownMenu.Trigger>
<DropdownMenu.Content <DropdownMenu.Content

View file

@ -10,6 +10,7 @@
stroke-width={strokeWidth} stroke-width={strokeWidth}
stroke="currentColor" stroke="currentColor"
class={className} class={className}
aria-hidden="true"
> >
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" /> <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
</svg> </svg>