R-pd.1.2
Bouw websites volgens het principe van gelaagd bouwen.
Gelaagd bouwen
Gelaagd bouwen betekent een website zo bouwen dat de inhoud 'gestapeld' wordt in verschillende lagen van methode of technologie. De 'basislaag' is kale tekst. Daar bovenop kunnen lagen komen die de inhoud verrijken, zoals afbeeldingen, CSS en Flash. Bij het falen van een laag of het gebrek aan ondersteuning voor die laag, wordt de inhoud aangeboden via de laag daaronder.
Uitleg van deze richtlijn
De bezoeker kan de inhoud van een gelaagd gebouwde site in diverse (onvoorziene) situaties bekijken, zonder dat daarvoor per geval een afzonderlijke website nodig is. Op sommige mobiele telefoons worden bijvoorbeeld geen afbeeldingen getoond, of de gebruiker van de telefoon heeft afbeeldingen uitgezet zodat websites sneller laden. Met een gelaagd gebouwde website ziet deze bezoeker de laag onder de afbeelding (een beschrijvende tekst).
Progressive enhancement
Het principe van gelaagd bouwen heeft vele namen gekregen, maar wordt in het Engels vaak progressive enhancement of layered semantic markup genoemd. De basis van de site is hierbij volledig functioneel en toegankelijk. Naarmate de voorzieningen van de bezoeker het toelaten, worden extra functionaliteit, visuele verbeteringen of speciaal gedrag toegevoegd. Deze extra's mogen nooit noodzakelijk zijn voor de werking van de site, maar kunnen wel de gebruiksvriendelijkheid verhogen.
Soms wordt er gesproken over graceful degradation. Er zit echter een verschil tussen graceful degradation en progressive enhancement: graceful degradation probeert de toegankelijkheid te verbeteren zonder al te veel gebruiksvriendelijkheid in te leveren, terwijl progressive enhancement het niveau van gebruiksvriendelijkheid probeert te verhogen zonder toegankelijkheid in te leveren. De één werkt van voor naar achteren, de ander van achteren naar voren. Progressive enhancement biedt als voordeel dat de basis waarop ontwikkeld wordt, is voorbereid op de toekomst.
Waar op deze website over het principe van 'gelaagd bouwen' wordt gesproken, wordt 'progressive enhancement' bedoeld.
Niet rekenen op optionele technologie
Een kenmerk van een gelaagd gebouwde website is dat de bezoeker voor de toegang tot de inhoud niet afhankelijk is van een bepaalde, optionele technologie. Zie R-pd. 1.3: Maak de functie van de website niet afhankelijk van optionele technologie.
Bestaande websites kunnen beperkt worden aangepast.
Websites bouwen volgens scheidingsprincipes en gelaagdheid is een methodiek die zich uitstekend leent voor het opzetten van een totaal nieuwe website. Principes van scheiding en gelaagd bouwen kunnen slechts beperkt worden toegepast op bestaande websites. Op een bepaald moment zal het meer moeite en tijd kosten om aspecten van de site aan te passen dan wanneer de site volledig opnieuw zou worden gebouwd.
Houd in de gaten dat de op deze website genoemde productiefilosofieën niet een doel op zichzelf zijn, maar een middel. De voordelen die de principes van scheiding en gelaagdheid hebben, zijn doelen. Dit is geen zwart-wit situatie: hoe meer doelen bereikt worden, hoe beter.
Voorbeelden van gelaagd bouwen
Een voorbeeld: in de bovenste laag bevindt zich een Flash-animatie. Als ondersteuning voor deze animatie in de browser niet aanwezig is of deze ondersteuning is uitgeschakeld, wordt in plaats van de animatie een afbeelding weergegeven. Als de weergave van afbeeldingen niet wordt ondersteund, wordt een alternatieve tekst getoond.
De manier waarop de inhoud wordt gepresenteerd (animatie, afbeelding, tekst) daalt weliswaar in toegevoegde waarde, maar de inhoud (de boodschap) blijft behouden.
De voordelen
- Een site wordt er toegankelijker van. De webontwikkelaar weet niet of ondersteuning voor afbeeldingen, kleuren, scripts of CSS aanwezig is in de browser van de bezoeker. Bovendien is onbekend welke fysieke beperkingen de bezoeker heeft; bijvoorbeeld (kleuren)blindheid. Gelaagdheid van de inhoud maakt dat de site evengoed toegankelijk is, als de techniek die in de erbovengelegen laag wordt gebruikt niet wordt ondersteund.
- Webontwikkelaars zijn minder tijd kwijt aan de uitwisselbaarheid (compatibiliteit) van bepaalde technologieën die op de site worden gebruikt. De bezoeker is immers niet afhankelijk van ondersteuning voor deze technologieën om toegang te hebben tot de inhoud.
Links en referenties
- Wikipedia: Progressive Enhancement.
- css-discuss:Progressive enhancement using CSS.
- Koechley, Nate. 2005. Semantic Markup - Create, Support and Extract.
