Refactor: sémantique nav Portfolio — ul > li > button
- nav > ul[role=list] > li > button
- aria-current sur l'item actif
- aria-label={project.title} sur le button (le texte visible est le numéro)
- alt="" sur la vignette (décorative, le titre est porté par aria-label)
- aria-hidden sur le numéro (redondant avec aria-label)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0b19589288
commit
594d53f50e
1 changed files with 22 additions and 10 deletions
|
|
@ -122,16 +122,22 @@
|
||||||
|
|
||||||
<!-- Sidebar navigation (extrême droite) -->
|
<!-- Sidebar navigation (extrême droite) -->
|
||||||
<nav class="portfolio-nav" aria-label="Projets">
|
<nav class="portfolio-nav" aria-label="Projets">
|
||||||
{#each projects as project, i}
|
<ul role="list">
|
||||||
<button
|
{#each projects as project, i}
|
||||||
class="portfolio-nav-item"
|
<li>
|
||||||
class:active={i === currentIndex}
|
<button
|
||||||
onclick={() => { currentIndex = i; setAnchor(i) }}
|
class="portfolio-nav-item"
|
||||||
>
|
class:active={i === currentIndex}
|
||||||
<img src={project.thumbnail} alt={project.title} />
|
aria-current={i === currentIndex ? 'true' : undefined}
|
||||||
<span class="portfolio-nav-number">{String(i + 1).padStart(2, '0')}</span>
|
aria-label={project.title}
|
||||||
</button>
|
onclick={() => { currentIndex = i; setAnchor(i) }}
|
||||||
{/each}
|
>
|
||||||
|
<img src={project.thumbnail} alt="" />
|
||||||
|
<span class="portfolio-nav-number" aria-hidden="true">{String(i + 1).padStart(2, '0')}</span>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
{/each}
|
||||||
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
@ -182,6 +188,7 @@
|
||||||
|
|
||||||
.portfolio-text h2 {
|
.portfolio-text h2 {
|
||||||
font-size: var(--font-size-title-main);
|
font-size: var(--font-size-title-main);
|
||||||
|
font-weight: 700;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
line-height: 1.1;
|
line-height: 1.1;
|
||||||
}
|
}
|
||||||
|
|
@ -215,6 +222,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sidebar navigation */
|
/* Sidebar navigation */
|
||||||
|
.portfolio-nav ul {
|
||||||
|
list-style: none;
|
||||||
|
display: contents;
|
||||||
|
}
|
||||||
|
|
||||||
.portfolio-nav {
|
.portfolio-nav {
|
||||||
grid-area: 4/17 / span 14 / span 4;
|
grid-area: 4/17 / span 14 / span 4;
|
||||||
padding-right: 8rem;
|
padding-right: 8rem;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue