Voor mijn werk ben ik veel bezig met HTML/CSS, en loop vaak tegen het volgende punt aan, waar ik de beste oplossing probeer te vinden qua semantiek, SEO en elegantie / netheid van de code. Er zijn vast meerdere goede opties, maar ik zou graag horen hoe andere front-end kenners dit doen:
Een overzicht van producten bestaat voor de websites waaraan ik werk vaak uit een afbeelding (thumbnail), een titel en één of meer verdere stukjes informatie zoals een prijs, categorie of omschrijving. Het overzicht zelf definieer ik als een ul, de items als li-elementen. Tot dusver zou er weinig discussie moeten zijn lijkt me. Het lastige is dat ik graag het hele item aanklikbaar maak, maar tegelijk gebruik zou willen maken van semantisch goede opmaak.
Twee voorbeelden van hoe het naar mijn idee zou kunnen:
1. Alles samen in een omringend a-element, die het hele ding aanklikbaar maakt, maar waar binnen uiteraard alleen inline-elementen toegestaan zijn:
Of: Meer semantische opmaak (h2, p) met een link erin voor Google en een onclick voor de gebruiker (de onclick zou dan wel via Javascript unobtrusive en onload op het li-element geplaatst worden, en een cursor: pointer erop voor de duidelijkheid).
Welke zouden jullie kiezen, of zijn er nog hele andere goede opties?
Let op: Ik weet dat er technisch gezien legio werkende oplossingen zijn voor sit soort situaties, maar het gaat me hier met name even om de semantiek / usability / seo-aspecten van items in een overzicht.
Een overzicht van producten bestaat voor de websites waaraan ik werk vaak uit een afbeelding (thumbnail), een titel en één of meer verdere stukjes informatie zoals een prijs, categorie of omschrijving. Het overzicht zelf definieer ik als een ul, de items als li-elementen. Tot dusver zou er weinig discussie moeten zijn lijkt me. Het lastige is dat ik graag het hele item aanklikbaar maak, maar tegelijk gebruik zou willen maken van semantisch goede opmaak.
Twee voorbeelden van hoe het naar mijn idee zou kunnen:
1. Alles samen in een omringend a-element, die het hele ding aanklikbaar maakt, maar waar binnen uiteraard alleen inline-elementen toegestaan zijn:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
| <h1>Producten</h1> <ul class="overview-products"> <li> <a href="/link-naar/detailpagina.html"> <img src="/thumbnail.jpg" alt="Product-titel" /> <span class="title">Product-titel</span> <span class="price">€ 6,95</span> <span class="preview">Een korte omschrijving van het product.</span> </a> </li> [meer items...] </ul> |
Of: Meer semantische opmaak (h2, p) met een link erin voor Google en een onclick voor de gebruiker (de onclick zou dan wel via Javascript unobtrusive en onload op het li-element geplaatst worden, en een cursor: pointer erop voor de duidelijkheid).
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
| <h1>Producten</h1> <ul class="overview-products"> <li onclick="document.location.href='/link-naar/detailpagina.html'"> <a href="/link-naar/detailpagina.html"> <img src="/thumbnail.jpg" alt="Product-titel" /> </a> <h2>Product-titel</h2> <div>€ 6,95</div> <p>Een korte omschrijving van het product.</p> </li> [meer items...] </ul> |
Welke zouden jullie kiezen, of zijn er nog hele andere goede opties?
Let op: Ik weet dat er technisch gezien legio werkende oplossingen zijn voor sit soort situaties, maar het gaat me hier met name even om de semantiek / usability / seo-aspecten van items in een overzicht.