WCAG-Audit-Discussions / NL-BE

Nederlandstalige discussies over hoe WCAG en de successcriteria te interpeteren.
https://wcag-audit-discussions.github.io/NL-BE/
24 stars 1 forks source link

1.3.1 Info en relaties - wel of geen headings in lijst met resultaten? #34

Open Aircl0wn opened 2 years ago

Aircl0wn commented 2 years ago

Ik weet dat ik en anderen de volgende layout afkeuren omdat er headings gebruikt worden zonder dat er content volgt:

<h2>intro heading</h2>
<ul>
  <li><a href="link"><h3>lijst item 1</h3></a></li>
  <li><a href="link"><h3>lijst item 2</h3></a></li>
  <li><a href="link"><h3>lijst item 3</h3></a></li>
</ul>

Wat als je nu een lijst hebt met verschillende items, bijvoorbeeld zoekresultaten, met en zonder extra content?

<h2>intro heading</h2>
<ul>
  <li>
    <a href="link">
      <h3>lijst item 1</h3>
      <p>Lorum ipsum</p>
    </a>
  </li>
  <li>
    <a href="link">
      <p>Lijst item 2</p>
    </a>
  </li>
  <li>
    <a href="link">
      <h3>lijst item 3</h3>
      <p>Lorum ipsum</p>
    </a>
  </li>
</ul>

waarbij de H3 en de losse P in item 2 dezelfde styling hebben, waarmee item 2 visueel dus een heading is, maar semantisch niet. Alleen, hier een H3 van maken brengt een screenreader weer in verwarring, want er volgt geen content?

Voor de waarde van de link maakt het niet uit, maar omdat veel screen reader gebruikers op headings navigeren kunnen ze ook weer een deel missen.

FerJo commented 2 years ago

Gevoelsmatig denk ik dat in dit geval consistentie belangrijker is dan semantiek. Ik kan me voorstellen dat een schermlezergebruiker, gezien de opmaak, juist verwacht dat <p>Lijst item 2</p> een h3 is.

ShadowBB commented 2 years ago

Dit is een goed scherp scenario waar we in het verleden bij Accessibility ook flink over gediscussieerd hebben. Onze conclusie was erg in lijn met de intuïtie van @FerJo .

Normaal keuren we koppen zonder content af omdat iets alleen een kop kan zijn van content. Echter als het mogelijk(!) is dat er content onder komt te staan maar er ontbreekt binnen die "categorie" content (bijvoorbeeld omdat er bepaalde filters zijn toegepast en de content dynamisch is opgebouwd) dan is het ontbreken van informatie juist content! Het feit dat er niks onder die kop staat is juist informatie. En dus mag het een kop zijn.

Het advies wat we in zo een geval altijd geven aan de bouwer is om dit te detecteren en er een soort standaard zinnetje neer te zetten "geen resultaten gevonden" ofzo. Maar ook zonder dat zinnetje is het belangrijk dat dit een kop is anders dan zou "Lijst item 2" ineens hiërarchisch gezien content zijn van de kop "lijst item 1" en dat zou helemaal verkeerd zijn.

In het geval van jou scenario zou mijn advies overigens zijn "genereer altijd een introtekst gebaseerd op de eerste paar zinnen van de gevonden pagina zodat het nooit leeg is".

FerJo commented 2 years ago

Even een sanity check: het eerste voorbeeld van @Aircl0wn keuren we af om de volgende reden?

"Het gebruik van koppen is hier niet gepast omdat er een relatie wordt gesuggereerd, die niet aanwezig is. Een kop introduceert content en die content is er niet. "

Aircl0wn commented 2 years ago

Dank beide!

@FerJo : Klopt, ik keur dat momenteel om die reden af inderdaad.

@ShadowBB Je advies is inderdaad ook wat ik in deze situatie heb aangegeven.

Ik ben het overigens niet eens met je tweede alinea over het ontbreken van content zien als (een vorm van) content. Zelf zou het advies voor een bericht daar als norm hanteren. Anders doe je de aanname dat iemand de juiste conclusie trekt dat er bijvoorbeeld geen resultaten zijn. Gebruikersonderzoek laat eerder zien dat dit de indruk werkt dat men zelf iets verkeerd heeft gedaan. Dat de kop daar hoort te staan zijn we het volgens mij over eens, maar het ontbreken van de content is voor iedereen onhandig. Eigenlijk dus meer een UX-probleem, maar in mijn ogen wel te scharen onder 1.3.1 als kop zonder content.

ShadowBB commented 2 years ago

Ik denk dat we het er inderdaad over eens zijn dat de kop er hoort te staan. Maar jij eist daarnaast altijd nog een stukje content er onder? Ook al is het duidelijk dat er iets zou kunnen staan daar?

Overigens ik ga er vanuit dat we het tweede scenario in jou opening post aan het bespreken zijn, en die zou dus "failed" zijn. Dat is het consensus waar we naartoe gaan toch? Want daar is volgens mij maar weinig twijfel over.

@Aircl0wn Dus jij zou het volgende scenario afkeuren als een gebruiker op bepaalde appels filtert en er bij "Zoetzure" geen gevonden zijn:

<H2>Zoekresultaten</H2>
     <P>3 resultaten gevonden.</P>

<H3>Zoete Appels</H3>
    <ul> 
        <li>Delcorf</li>
        <li>Braeburn</li>
    </ul>

<H3>Zoetzure Appels</H3>

<H3>Zure Appels</H3>
    <ul> 
        <li>Goudreinette</li>
    </ul> 
Aircl0wn commented 2 years ago

Ik denk dat we het er inderdaad over eens zijn dat de kop er hoort te staan. Maar jij eist daarnaast altijd nog een stukje content er onder? Ook al is het duidelijk dat er iets zou kunnen staan daar?

@Aircl0wn Dus jij zou het volgende scenario afkeuren als een gebruiker op bepaalde appels filtert en er bij "Zoetzure" geen gevonden zijn:

<H2>Zoekresultaten</H2>
     <P>3 resultaten gevonden.</P>

<H3>Zoete Appels</H3>
    <ul> 
        <li>Delcorf</li>
        <li>Braeburn</li>
    </ul>

<H3>Zoetzure Appels</H3>

<H3>Zure Appels</H3>
    <ul> 
        <li>Goudreinette</li>
    </ul> 

Klopt, dan is het wat mij betreft of weglaten of als het vaste categorieën zijn o.i.d., aangeven dat er binnen die categorie geen resultaten zijn. Ik zou in zo'n situatie eerder denken dat er iets mis is gegaan. misschien een exception die in productie niet gerenderd wordt? het communiceert voor mij dat daar iets zou moeten (niet kunnen) staan.

Overigens ik ga er vanuit dat we het tweede scenario in jou opening post aan het bespreken zijn, en die zou dus "failed" zijn. Dat is het consensus waar we naartoe gaan toch? Want daar is volgens mij maar weinig twijfel over.

Klopt, die wou ik inderdaad breder checken (vanwege bovenstaande)

ShadowBB commented 2 years ago

Top! Dan hebben we daarover consensus bereikt. Kun jij een conclusie schrijven voor op de website?

Voor het andere scenario waar we nu achter gekomen zijn moeten we misschien even een nieuwe issue openen. Ik ben hier niet zeker over namelijk. Maar ik zal eerst even intern bij ons navragen hoe mijn collega's er over denken.

Aircl0wn commented 2 years ago

Sorry, te weinig tijd dus hier is een gat gevallen en ik moet het ff helder krijgen.

Overeenstemming gaat over het eerste punt in mijn OP? Of ook het tweede (waarop we zijn door gaan bouwen)? Want over die eerste had ik niet zozeer twijfel of er overeenstemming over zou zijn namelijk. :)

ShadowBB commented 2 years ago

Want over die eerste had ik niet zozeer twijfel of er overeenstemming over zou zijn namelijk. :)

Ha. Dan was het aanmaken van deze issue misschien niet heel nuttig. :P (Afgezien natuurlijk van het feit dat we nu een scherper scenario hebben waarover we wel twijfelen en kunnen discussiëren, wat ook super waardevol is).

Ik stel voor dat je je OP aanpast en het scenario er in plaatst waar je opheldering over wilt, of beter nog dat we deze issues sluiten zonder conclusie en toevoeging aan de website (aangezien er inderdaad bij niemand twijfel was over het scenario) en dan een nieuwe issue aanmaakt. Mee eens?