fix(filtres): rail Sources sans libellé, Toutes/Aucune en icônes
CI / build-and-test (push) Successful in 14m54s

- le mot « Sources » quitte le panneau Filtres (le groupe reste repéré par
  aria-label sur chaque bascule) ;
- « Toutes » → double coche, « Aucune » → cercle barré : libellés déplacés
  dans aria-label/title pour le clavier et les lecteurs d'écran.

Vérif Playwright sur l'instance locale : plus de libellé « Sources », les
deux boutons en svg + aria-label, Aucune → bandeau « Aucune source
sélectionnée » + grille vide, réactivation d'une source → 48 résultats,
tests test:search verts, build ng OK.
This commit is contained in:
2026-10-01 21:28:06 -04:00
parent bfbcb5b49d
commit 5f43fa1e59
@@ -101,18 +101,27 @@
@if (showSources) {
<div class="my-1.5 h-px bg-slate-700"></div>
<div class="flex flex-wrap items-center gap-1.5">
<span class="shrink-0 pl-2 text-[11px] font-medium uppercase tracking-wide text-slate-400">Sources</span>
<!-- Sélection de masse : icônes seules, le libellé passe par
aria-label / title (le mot « Sources » a été retiré du rail). -->
<button type="button" (click)="sourceChange.emit({ action: 'all' })"
class="chip inline-flex h-8 shrink-0 items-center whitespace-nowrap rounded-full border px-3 text-[13px] font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--accent)]"
class="chip inline-flex h-8 shrink-0 items-center justify-center rounded-full border px-2.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--accent)]"
[ngClass]="allSourcesVisible ? 'border-transparent bg-slate-200 text-slate-900' : 'border-slate-700 bg-slate-800 text-slate-300 hover:bg-slate-700'"
[attr.aria-pressed]="allSourcesVisible">
Toutes
[attr.aria-pressed]="allSourcesVisible"
aria-label="Tout sélectionner (toutes les sources)" title="Toutes les sources">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
<path d="M2 13l3.5 3.5L12 10" />
<path d="M10.5 17l1.7 1.7L22 8.5" />
</svg>
</button>
<button type="button" (click)="sourceChange.emit({ action: 'none' })"
class="chip inline-flex h-8 shrink-0 items-center whitespace-nowrap rounded-full border px-3 text-[13px] font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--accent)]"
class="chip inline-flex h-8 shrink-0 items-center justify-center rounded-full border px-2.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--accent)]"
[ngClass]="noSourceVisible ? 'border-transparent bg-slate-200 text-slate-900' : 'border-slate-700 bg-slate-800 text-slate-300 hover:bg-slate-700'"
[attr.aria-pressed]="noSourceVisible">
Aucune
[attr.aria-pressed]="noSourceVisible"
aria-label="Tout désélectionner (aucune source)" title="Aucune source">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" aria-hidden="true">
<circle cx="12" cy="12" r="8.5" />
<path d="M6 6l12 12" />
</svg>
</button>
<div class="scroll-rail-fade min-w-0 flex-1">