forked from yvv/decision
v3 : menu — nom accessible de « Docs de référence » avec son nombre de docs
Le lien porte « Docs de référence, 1 doc en cours » (fr, en, es) au lieu d'un texte masqué collé au libellé ; contrôlé dans C15. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,7 @@ test('C15 — le menu : le nombre de docs, surligné seulement dedans, seul Docs
|
|||||||
await expect(tool('Docs de référence')).toHaveAttribute('href', '/');
|
await expect(tool('Docs de référence')).toHaveAttribute('href', '/');
|
||||||
await page.goto(ML);
|
await page.goto(ML);
|
||||||
await expect(tool('Docs de référence').locator('.count')).toHaveText('1');
|
await expect(tool('Docs de référence').locator('.count')).toHaveText('1');
|
||||||
|
await expect(tool('Docs de référence')).toHaveAccessibleName('Docs de référence, 1 doc en cours');
|
||||||
await expect(nav.locator('.tool[aria-current="page"]')).toHaveCount(0);
|
await expect(nav.locator('.tool[aria-current="page"]')).toHaveCount(0);
|
||||||
await expect(nav.locator('.tool.off')).toHaveCount(3);
|
await expect(nav.locator('.tool.off')).toHaveCount(3);
|
||||||
// Hover: Docs reacts, a tool to come does not.
|
// Hover: Docs reacts, a tool to come does not.
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
<ul class="tools">
|
<ul class="tools">
|
||||||
{#each TOOLS as tool (tool)}
|
{#each TOOLS as tool (tool)}
|
||||||
{@const on = inTool(tool)}
|
{@const on = inTool(tool)}
|
||||||
|
{@const counted = tool === 'docs' && count !== null}
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href={toolHref(tool, target)}
|
href={toolHref(tool, target)}
|
||||||
@@ -58,12 +59,11 @@
|
|||||||
class:off={tool !== 'docs'}
|
class:off={tool !== 'docs'}
|
||||||
class:current={on}
|
class:current={on}
|
||||||
aria-current={on ? 'page' : undefined}
|
aria-current={on ? 'page' : undefined}
|
||||||
|
aria-label={counted ? i18n.plural('nav.docs.count', count ?? 0, { label: t(LABELS[tool]) }) : undefined}
|
||||||
onclick={() => onnavigate?.()}
|
onclick={() => onnavigate?.()}
|
||||||
>
|
>
|
||||||
<span>{t(LABELS[tool])}</span>
|
<span>{t(LABELS[tool])}</span>
|
||||||
{#if tool === 'docs' && count !== null}
|
{#if counted}<span class="count" aria-hidden="true">{count}</span>{/if}
|
||||||
<span class="count" aria-hidden="true">{count}</span><span class="visually-hidden">{i18n.plural('nav.docs.count', count)}</span>
|
|
||||||
{/if}
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{/each}
|
{/each}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ export const en: Messages = {
|
|||||||
'nav.mandates': 'Mandates',
|
'nav.mandates': 'Mandates',
|
||||||
'nav.protocols': 'Protocols',
|
'nav.protocols': 'Protocols',
|
||||||
'nav.groups': 'My groups',
|
'nav.groups': 'My groups',
|
||||||
'nav.docs.count.one': '{n} document in progress',
|
'nav.docs.count.one': '{label}, {n} document in progress',
|
||||||
'nav.docs.count.other': '{n} documents in progress',
|
'nav.docs.count.other': '{label}, {n} documents in progress',
|
||||||
'nav.access': 'Access',
|
'nav.access': 'Access',
|
||||||
'nav.access.hint': 'trustinWallet',
|
'nav.access.hint': 'trustinWallet',
|
||||||
'nav.feedback': 'Give feedback',
|
'nav.feedback': 'Give feedback',
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ export const es: Messages = {
|
|||||||
'nav.mandates': 'Mandatos',
|
'nav.mandates': 'Mandatos',
|
||||||
'nav.protocols': 'Protocolos',
|
'nav.protocols': 'Protocolos',
|
||||||
'nav.groups': 'Mis grupos',
|
'nav.groups': 'Mis grupos',
|
||||||
'nav.docs.count.one': '{n} documento en curso',
|
'nav.docs.count.one': '{label}, {n} documento en curso',
|
||||||
'nav.docs.count.other': '{n} documentos en curso',
|
'nav.docs.count.other': '{label}, {n} documentos en curso',
|
||||||
'nav.access': 'Accesos',
|
'nav.access': 'Accesos',
|
||||||
'nav.access.hint': 'trustinWallet',
|
'nav.access.hint': 'trustinWallet',
|
||||||
'nav.feedback': 'Dejar un comentario',
|
'nav.feedback': 'Dejar un comentario',
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ export const fr = {
|
|||||||
'nav.mandates': 'Mandats',
|
'nav.mandates': 'Mandats',
|
||||||
'nav.protocols': 'Protocoles',
|
'nav.protocols': 'Protocoles',
|
||||||
'nav.groups': 'Mes groupes',
|
'nav.groups': 'Mes groupes',
|
||||||
'nav.docs.count.one': '{n} doc en cours',
|
'nav.docs.count.one': '{label}, {n} doc en cours',
|
||||||
'nav.docs.count.other': '{n} docs en cours',
|
'nav.docs.count.other': '{label}, {n} docs en cours',
|
||||||
'nav.access': 'Accès',
|
'nav.access': 'Accès',
|
||||||
'nav.access.hint': 'trustinWallet',
|
'nav.access.hint': 'trustinWallet',
|
||||||
'nav.feedback': 'Faire un retour',
|
'nav.feedback': 'Faire un retour',
|
||||||
|
|||||||
Reference in New Issue
Block a user