Webrichtlijnen versie 2 - Succescriterium U.2.2 Scheiding van content en gedrag

Principe Universeel - Creëer content die betekenisvol, voor iedereen bruikbaar, uitwisselbaar en duurzaam is

Richtlijn U.2 Gescheiden: Scheid content van presentatie en van gedrag

Bedoeling van Richtlijn U.2

Een belangrijk aspect van het bouwen van duurzame en toegankelijke websites en -applicaties is het principe van scheiding tussen de content en de context waarbinnen deze gebruikt wordt. Tot die context behoren presentatie en gedrag.

Juiste toepassing van de richtlijn leidt tot een optimale bruikbaarheid in uiteenlopende gebruikssituaties, efficiëntie in bouw en onderhoud (en daarmee mogelijkheden voor kostenbesparing) en een betere toegankelijkheid.

Succescriterium U.2.2 Scheiding van content en gedrag

U.2.2 Scheiding van content en gedrag: Content en gedrag worden gescheiden van elkaar aangeboden, indien de toegepaste technologie voor webcontent dit ondersteunt. (Niveau AA)

Niveau van conformiteit

AA

Bedoeling van dit Succescriterium

Content op een webpagina is niet per definitie statisch. Het middel dat veelal wordt ingezet om aan content een bepaald gedrag toe te voegen is programmacode voor de webinterface. Deze programmacode voor de webinterface wordt uitgevoerd op de computer van een websitebezoeker, is aanwezig op veruit de meeste websites en wordt door praktisch alle user agents ondersteund. Programmacode voor de webinterface - de Engelse term is client-side scripting - kan nuttig worden ingezet om de interactie tussen mens en computer effectiever en efficiënter te laten verlopen.
Aan de andere kant kan code van matige kwaliteit, of code die specifiek is ontwikkeld voor één enkel type user agent, het gebruik van een website bemoeilijken of zelfs onmogelijk maken. Het vermengen van content en client-side scripting kan, bijvoorbeeld bij migratie of bij hergebruik van de content, de oorzaak zijn van het ontstaan van onbedoeld gedrag en andere problemen.

Definities
programmacode voor de webinterface (client-side scripting)

code die in een formele programmeertaal is geschreven, die wordt uitgevoerd als onderdeel van de interface van een website of -applicatie en die kan worden gebruikt om interactie aan een webpagina toe te voegen.

technologie (webcontent)

mechanisme om instructies te coderen die weergegeven, afgespeeld of uitgevoerd worden door user agents

Opmerking 1: zoals ze in deze richtlijnen gebruikt worden, verwijzen "webtechnologie" en het woord "technologie" (als het afzonderlijk wordt gebruikt) beide naar webcontenttechnologieën.

Opmerking 2: onder webcontenttechnologieën kunnen vallen: opmaaktalen, gegevensformaten of programmeertalen die auteurs alleen kunnen gebruiken of in combinatie om eindgebruikers-ervaringen te creëren die variëren van statische webpagina's tot gesynchroniseerde mediapresentaties tot dynamische webapplicaties.

Voorbeeld: enige gangbare voorbeelden van webcontenttechnologieën zijn HTML, CSS, SVG, PNG, PDF, Flash en JavaScript.

user agent

alle software die webcontent voor gebruikers ophaalt en presenteert

Voorbeeld: webbrowsers, mediaspelers, plug-ins en andere programma's - waaronder hulptechnologieën - die helpen bij het ophalen en weergeven van en het interacteren met webcontent.

webpagina

een niet ingebed bestand dat door middel van HTTP verkregen wordt uit een enkele URI plus alle andere bestanden die door een user agent gebruikt worden bij het weergeven of bedoeld zijn om samen met het niet ingebedde bestand te worden weergegeven

Opmerking 1: hoewel alle "andere bestanden" weergegeven zouden worden met het primaire bestand, zouden ze niet noodzakelijk tegelijkertijd met elkaar worden weergegeven.

Opmerking 2: ter wille van conformiteit met deze richtlijnen moet een bestand "niet ingebed" zijn binnen de reikwijdte van conformiteit om als een webpagina te worden beschouwd.

Voorbeeld 1: een webbestand met inbegrip van alle ingebedde afbeeldingen en media.

Voorbeeld 2: een webmailprogramma dat opgebouwd is met gebruik van Asynchrone JavaScript en XML (AJAX). Het programma bevindt zich in zijn geheel op http://example.com/mail, maar bevat een inbox, een lijst met contacten en een kalender. Er worden links of knoppen geleverd, die er voor zorgen dat de inbox, de lijst met contacten of de kalender getoond worden, maar die de URI van de pagina als geheel niet veranderen.

Voorbeeld 3: een aanpasbare portaalpagina waarbij gebruikers te tonen content kunnen kiezen uit een set van verschillende contentmodules.

Voorbeeld 4: als je met je browser naar "http://shopping.example.com/" gaat, ga je een filmachtige interactieve winkel binnen waar je je visueel in een winkel verplaatst en producten van de schappen om je heen pakt en in een visuele winkelwagen voor je plaatst. Als je een product aanklikt, wordt het aan je gedemonstreerd met een folder met specificaties daarnaast zwevend. Dit kan een website van een enkele pagina zijn of gewoon één pagina binnen een website.

Voldoen aan succescriterium U.2.2 Scheiding van content en gedrag (niveau AA)

Afdoende technieken: technieken of combinaties van technieken die volstaan

Elk genummerd item in deze sectie staat voor een techniek of combinatie van technieken die afdoende wordt beschouwd om aan dit succescriterium te voldoen. Met de genoemde technieken wordt pas aan het succescriterium voldaan indien ze in overeenstemming zijn met de conformiteitseisen.

  • Hu11: Scripts en script fragmenten worden gescheiden van de content aangeboden in gelinkte bestanden, of boven danwel onder de content in hetzelfde bestand (HTML)

Gangbare fouten: praktijksituaties die veroorzaken dat webcontent niet voldoet

Als een 'gangbare fout' uit deze sectie van toepassing is, dan wordt niet aan het succescriterium voldaan.

  • Fu4: Gangbare fout voor kwaliteitscriterium u.2.2 doordat in HTML inline event handlers worden gebruikt

    Opmerking: De beoordeling van deze gangbare fout dient plaats te vinden op de door de webserver geserveerde HTML-code, niet de door de browser gegenereerde HTML-code.

Normatieve content op deze pagina

De volgende content op deze pagina heeft de status 'normatief' en is ongewijzigd overgenomen uit het normdocument Webrichtlijnen versie 2: