Skiplinks
Op de website ontbreken skiplinks. Er moet een manier zijn om herhalende content die op elke pagina staat over te slaan, zoals het navigatiemenu en andere elementen die op meerdere pagina’s terugkomen. Je gebruikt hier een skiplink voor. Daarmee kun je vaste blokken met herhalende inhoud overslaan. Een skiplink moet de eerste link op de pagina zijn. Deze link mag verborgen zijn, maar moet zichtbaar worden zodra hij focus krijgt. Voeg een skiplink toe waarmee bezoekers herhalende delen van de pagina over kunnen slaan.
Voldoet niet aan SC 2.4.1 - Bypass Blocks
Het logo
In de linkerbovenhoek staat een logo. Het alt-attribuut is leeg. Door het leeg laten van het alt-attribuut wordt de afbeelding verborgen voor de schermlezer. Het is belangrijk om deze informatieve afbeelding een tekstalternatief te geven om te zorgen voor een volledige en accurate representatie van de afbeelding voor gebruikers die vertrouwen op schermlezers. Herhaal de zichtbare tekst van het logo “Probedrijven” in het alt-attribuut.
Voldoet niet aan SC 1.1.1 - Non-text content
Het logo is een link, maar er is geen tekst beschikbaar voor de schermlezer die het doel van de link beschrijft. Hierdoor weten gebruikers van hulpsoftware niet naar welke pagina of inhoud de link leidt. Je lost dit op door een alt-tekst aan de afbeelding van het logo toe te voegen, of een tekst die alleen zichtbaar is voor schermlezers, zoals een aria-label.
Voldoet niet aan SC 2.4.4 - Link purpose
De zichtbare tekst van het logo is "Probedrijven". De toegankelijke naam is leeg. Dit logo fungeert als een link, maar de zichtbare tekst van het logo komt niet overeen met de toegankelijkheidsnaam van de link. Hierdoor is de link niet goed toegankelijk voor stemgestuurde systemen. Zorg ervoor dat de zichtbare tekst in de toegankelijkheidsnaam voorkomt, het liefst vooraan.
Voldoet niet aan SC 2.5.3 - Label in Name
Het logo werkt als een link. Deze link heeft geen toegankelijke naam. De link heeft geen toegankelijke naam. Daardoor is de bestemming van de link onbekend voor bezoekers die een schermlezer gebruiken. Geef de link een toegankelijke naam die het doel of de functie van de link beschrijft. Voldoet niet aan SC 4.1.2 - Name, role, value
Hoe test je of een element een toegankelijkheidsnaam of rol heeft? Dat zie je in het Accessibility tab in Chrome.
Hamburger menu
In de rechterbovenhoek staat de zogenaamde hamburgerknop die een mobiel menu opent. Deze knop met de zichtbare tekst “menu” heeft op dit moment geen juiste toegankelijkheidsrol en heeft daarom ook geen toegankelijkheidsnaam. In essentie definieert de rol wat het element is. Schermlezers en andere ondersteunende technologieën moeten de rol van elk element op de webpagina kennen om er op een intelligente manier mee te kunnen interageren en deze informatie aan de gebruiker te communiceren. Zorg ervoor dat de knop een geschikte rol krijgt, door gebruik te maken van het button-element of role="button".
Voldoet niet aan SC 4.1.2 - Name, role, value
Wanneer het hamburgermenu wordt geopend, verschijnt de knop om het menu te sluiten met de tekst "sluiten". Dit element heeft geen toegankelijke rol en ook geen toegankelijke naam. Elk HTML-element heeft een rol, dat wil zeggen een verzameling kenmerken, eigenschappen en methoden om informatie van en/of naar de gebruiker over te brengen. In wezen definieert de rol wat het element is. Schermlezers en andere ondersteunende technologieën moeten de rol van elk element op de webpagina kennen om er op een intelligente manier mee te kunnen interageren, en ze moeten de rol aan de gebruiker kunnen communiceren.
Voldoet niet aan SC 4.1.2 - Name, role, value
Het hamburger menu opent een mobiel menu. De status van deze inhoud kan niet worden bepaald door de schermlezer. Wanneer een knop extra content kan tonen of verbergen, moet de status, of het getoond of verborgen is, door hulpsoftware kunnen worden bepaald. Dit kan worden gedaan door een aria-expanded attribuut toe te voegen aan de menuknop. Aria-expanded werkt alleen op knoppen wanneer de focus op deze knop blijft. Als de focus verplaatst wordt, moet er een verborgen tekst gebruikt worden.
Voldoet niet aan SC 4.1.2 - Name, role, value
In het hamburgermenu zijn, de teksten “Onze bedrijven” en “Menu” niet als kop gemarkeerd. Deze tekst doet dienst als koptekst, maar is in de HTML-code niet gemarkeerd als kop. Blinde bezoekers hebben niets aan een (tussen)kop die er wel uitziet als kop, maar die niet als kop is gemarkeerd. Via de koppen op een pagina kunnen gebruikers van hulpsoftware de inhoud scannen of snel naar een bepaalde sectie navigeren. Maar dat kan alleen als de kop ook echt in de code staat. Zijn je koppen alleen visueel als kop vormgegeven (bijvoorbeeld vetgedrukt), maar niet in de code gemarkeerd? Dan ontstaat nog een ander probleem. De structuur van de informatie in de code wijkt dan namelijk af van de visuele structuur. Dit voorkom je door koppen altijd te markeren met het juiste HTML-element, op het juiste kopregelniveau: h1, h2, h3, h4, h5 of h6. Meestal kun je het kopregelniveau kiezen via de content-editor in je CMS. De HTML-code voor de kop wordt dan automatisch toegepast.
Voldoet niet aan SC 1.3.1 - Info and Relationships
In het hamburgermenu staan menulinks onder "Onze bedrijven" en "Menu" die visueel bij elkaar horen. Deze relatie ontbreekt in de HTML. Als het voor een ziende bezoeker duidelijk is dat een groep links of paginering bij elkaar hoort, dan moet die structuur ook in de HTML-code aanwezig zijn. Neem de elementen bijvoorbeeld op in een ul- of ol-element.
Voldoet niet aan SC 1.3.1 - Info and Relationships
Wanneer het hamburgermenu wordt geopend, krijgen de linkteksten "Werken bij", "Over ons", enzovoort onvoldoende tekstcontrast wanneer er met de muis overheen wordt gegaan, met een contrastverhouding van 2,1:1, wat onder de minimumvereiste van 3,0:1 voor grote tekst valt.
Voldoet niet aan SC 1.4.3 - Contrast (Minimum)
Wanneer het hamburgermenu wordt geopend, krijgt de tekst van de knop "Sluiten" onvoldoende tekstcontrast wanneer de muisaanwijzer erover wordt bewogen, met een contrastverhouding van 2,6:1, wat onder de minimumvereiste van 4,5:1 voor kleine tekst valt.
Voldoet niet aan SC 1.4.3 - Contrast (Minimum)
De volgende elementen kunnen niet met het toetsenbord worden bediend: hamburgerknop "menu"en de sluitknop om het menu te sluiten. Bezoekers die de website zonder een computermuis met alleen het toetsenbord navigeren moeten alle interactieve elementen kunnen bedienen. Zorg ervoor dat alle interactieve elementen met toetsenbord te bedienen zijn.
Voldoet niet aan SC 2.1.1 - Keyboard
Het hamburger menu opent het mobiele menu. De focus wordt niet naar dit mobile menu verplaatst. Dit menu vereist specifieke handelingen voor toetsenbordfocus. De focus moet in dit menu landen. Terwijl het menu geopend is, moet de toetsenbordfocus beperkt blijven tot het menu en mag deze niet verschuiven naar elementen op de onderliggende pagina. Momenteel is focusbeheer niet correct geïmplementeerd. Dit kan worden opgelost door de focus tot het menu te beperken totdat de bezoeker het menu heeft afgesloten door het klikken op de sluitknop of ESC-toets. Een andere oplossing is het automatisch laten sluiten van het menu wanneer de focus het menu verlaat.
Voldoet niet aan SC 2.4.3 - Focus Order
Wanneer de bezoeker door de pagina navigeert met behulp van het toetsenbord en wanneer dit menu wordt gesloten, komt de focus terecht op interactieve elementen binnen dit menu die op dat moment onzichtbaar zijn. De focusvolgorde van elementen moet logisch en intuïtief zijn. De focus mag niet terechtkomen op interactieve elementen (links, knoppen, formuliervelden) die niet zichtbaar zijn. Dit kan leiden tot onbedoelde activering van deze elementen. Alleen zichtbare elementen mogen focus krijgen.
Voldoet niet aan 2.4.3 Focus Order
Wanneer de pagina op een klein scherm wordt bekeken en het mobiele menu is geopend, bedekt dit menu de interactieve elementen op de onderliggende pagina. Deze elementen kunnen focus krijgen terwijl ze onzichtbaar zijn, wat een probleem veroorzaakt voor bezoekers die met een toetsenbord navigeren. De focus mag niet worden bedekt door andere elementen, omdat dit verwarring en navigatieproblemen oplevert voor bezoekers die afhankelijk zijn van toetsenbord- of schermlezernavigatie. Om dit probleem op te lossen, moet ervoor worden gezorgd dat de onderliggende interactieve elementen geen focus kunnen krijgen wanneer het mobiele menu is geopend.
Voldoet niet aan SC 2.4.11 - Focus Not Obscured
Main menu
Als bezoekers tekstafstand toepassen zoals beschreven in in succescriterium 1.4.12, valt de linktekst "Gemeenschappelijke Regeling Gesubsidieerde Arbeid" in het submenu van het menu-item "Over ons" buiten de container. De stijlkenmerken zoals in dit succescriterium zijn beschreven, zijn van belang voor bijvoorbeeld mensen met dyslexie. Zij kunnen hiermee de tekst beter lezen. Het toepassen van deze stijlkenmerken mag echter niet leiden tot verlies van content of functionaliteit. Zorg ervoor dat de tekst leesbaar blijft.
Voldoet niet aan SC 1.4.12 - Text Spacing
In het hoofdmenu is de focus niet zichtbaar op de volgende elementen: "Werken bij", "Over ons" en "Onze bedrijven" menu-items en hun submenu-items. Op alle pagina's van de website is de focusstijl verwijderd van de links en invoervelden (outline:0). Er worden geen op maat gemaakte alternatieven aangeboden. De focus moet altijd zichtbaar zijn op de interactieve elementen die toetsenbord focus krijgen. Wanneer de focus onzichtbaar is, is het niet duidelijk wanneer de bezoeker op Enter moet drukken om de knop of de link te activeren.
Voldoet niet aan SC 2.4.7 - Focus Visible
In elk submenu van het hoofdmenu horen links visueel bij elkaar. Deze relatie ontbreekt in de HTML. Als het voor een ziende bezoeker duidelijk is dat een groep links of paginering bij elkaar hoort, dan moet die structuur ook in de HTML-code aanwezig zijn. Neem de elementen bijvoorbeeld op in een ul- of ol-element.
Voldoet niet aan SC 1.3.1 - Info and Relationships
In elk submenu van het hoofdmenu heeft de groene (#258C04
) tekst op een witte achtergrond onvoldoende kleurcontrast van 4,3:1 als je er met de muis overheen gaat. Dit probleem is ook te zien onder het menu in links van het laatste nieuws door er met de muis overheen te gaan, in links van de lijst met suggesties (en door met de muis over de groene linktekst op een lichtgrijze (#F2F2F2
) achtergrond te gaan - 3,9:1).
Al deze gevallen zijn vals onder de minimumvereiste van 4,5:1.
Voldoet niet aan SC 1.4.3 - Contrast (Minimum)
Zoekveld
Er is een knop "Zoeken" naast het hamburgermenu. Als het zoekveld wordt uitgeklapt, verschijnt het pictogram "X". Dit icoon en het span met “Clear Search Results” maken deel uit van het a-element dat als sluitknop dient. Deze link heeft geen linkdoel. Een blinde bezoeker weet daardoor niet wat deze link doet of betekent. Om dit op te lossen moet je de link dus content geven. Dat doe je bijvoorbeeld door een tekst toe te voegen in het a-element, door afbeeldingen een alt-tekst te geven of door een aria-label toe te voegen. Het span-element binnen de link kan hiervoor dienen, maar het moet zichtbaar zijn voor de schermlezer. Momenteel is het niet het geval. Vervang display:none
door de CSS clip methode.
Voldoet niet aan SC 2.4.4 - Link purpose
Voldoet niet aan SC 4.1.2 - Name, role, value
De tekst binnen dit span-element is in het Engels. Wanneer stukken tekst in een andere taal op de pagina staan, moet je dit kenbaar maken aan de schermlezer door een lokaal lang-attribuut toe te voegen (lang=”en”). De beste oplossing hier is de waarde van het span-element te vertalen naar het Nederlands.
Voldoet niet aan SC 3.1.2 - Language of Parts
In de zoekbalk wordt de "X"knop wit wanneer een bezoeker de muis over dit icoon beweegt. Op een grijze (#C0C0C0) achtergrond heeft deze kleur onvoldoende kleurcontrast van 1,8:1. Deze lage contrastverhouding maakt het voor mensen met een visuele beperking of kleurenblindheid moeilijk of onmogelijk om dit pictogram te onderscheiden. Gebruik een kleurencombinatie die voor voldoende contrast zorgt. Ook grijze (#E0E0E0) bovenrand van invoerveld op witte achtergrond heeft contrast van 1,3:1.
Voldoet niet aan SC 1.4.11 - Non-text Contrast
Wanneer de pagina wordt bekeken met een schermresolutie van 1280 bij 1024 en ingezoomd tot 400%, is de zoekbalk niet zichtbaar. Wanneer de website wordt bekeken met een schermresolutie van 1280 bij 1024 en wordt ingezoomd tot 400%, moet de pagina nog steeds functioneel zijn. Bezoekers met een visuele beperking moeten alle functionaliteit van de pagina kunnen gebruiken.
Voldoet niet aan SC 1.4.10 - Reflow
Als de zoekbalk wordt uitgeklapt, verschijnt er een invoerveld. Als een bezoeker gegevens invoert in het invoerveld, verschijnt er een lijst met suggesties. Dit is een statusbericht. Deze melding is een statusbericht omdat het voldoet aan twee hoofdcriteria: de melding geeft informatie over de resultaten van een actie en ontvangt geen focus. De rol van een statusbericht moet programmatisch kunnen worden bepaald zodat een schermlezer deze informatie kan voorlezen. Dit kan worden opgelost door role="status" aan de melding toe te voegen. Zie voor meer informatie pagina ARIA19.
Voldoet niet aan SC 4.1.3 - Status messages
Witte slogan "Waar ieder mens kan groeien." staat op de achtergrond met een kleurverloop en heeft op sommige plekken minder dan 4,5:1 contrast tussen tekst en de achtergrond. Deze tekst is minder dan 24px en niet vet, daarom moet het contrast minstens 4,5:1 zijn.
Voldoet niet aan SC 1.4.3 - Contrast (Minimum)
Wanneer de pagina op een klein scherm wordt bekeken, bedekt de sticky header de interactieve elementen op de onderliggende pagina. De interactieve elementen die focus krijgen mogen niet bedekt zijn door andere elementen. Wanneer de bezoeker de Tab-toets gebruikt om vooruit te navigeren of Shift en Tab gebruikt om terug te navigeren, moeten alle elementen die focus krijgen zichtbaar zijn.
Voldoet niet aan SC 2.4.11 - Focus Not Obscured
De footer
Bovenaan de linkerkolom staat een logo. Het alt-attribuut is leeg. Door het leeglaten van het alt-attribuut wordt de afbeelding verborgen voor de schermlezer. Herhaal de zichtbare tekst van het logo “Probedrijven” in het alt-attribuut.
Voldoet niet aan SC 1.1.1 - Non-text content
Boven de footer staat een groep logo's. De laatste in deze groep heeft een zichtbare tekst "Promail & print". Maar de alternatieve tekst is "Pro Verpakken & ontwikkelen". Het is belangrijk om deze zichtbare tekst op te nemen in het tekstalternatief om te zorgen voor een volledige en accurate representatie van de afbeelding voor gebruikers die vertrouwen op schermlezers. Geef dit logo alt-tekst waarin de volledige tekst van het logo in voorkomt.
Voldoet niet aan SC 1.1.1 - Non-text content
Er zijn links met logo's "Proverpakken & Ontwikkelen" en "Promail & print". Hetzelfde linkdoel via aria-label="pro-vepakken log"
komt meerdere keren voor. Het doel van elke link moet begrijpelijk zijn, en te onderscheiden van andere links op dezelfde pagina. Het liefst door de linktekst zelf, en anders door de directe context van de link. Linkteksten die meerdere keren op de pagina voorkomen of nietszeggend zijn (zoals "pro-vepakken log"), zijn niet duidelijk voor blinde bezoekers. Ze helpen niet bij het begrijpen wat de bestemming van de link is.
Voldoet niet aan SC 2.4.4 - Link purpose
Alle links met logo’s hebben een onduidleijk linkdoel via aria-labels, bijvoorbeeld "pro-groen-milieu", "pro-bezorgt-logo" of "pro-vepakken log".
Voldoet niet aan SC 2.4.4 - Link Purpose
De zichtbare tekst van deze logo's maakt geen deel uit van de toegankelijke naam. De toegankelijke naam van twee logo’s is "pro-vepakken log", de zichtbare tekst is "Proverpakken & Ontwikkelen" en "Promail & print". De toegankelijke naam komt van een aria-label. Als de zichtbare tekst van een link niet voorkomt in de toegankelijke naam, kan de link niet met spraakbediening worden bediend. De commando’s die de bezoeker uitspreekt door de tekst van de link voor te lezen, zullen de link dan niet activeren. Je lost dit op door de zichtbare tekst toe te voegen aan de toegankelijke naam, bij voorkeur vooraan.
Voldoet niet aan 2.5.3 Label in Name
In de bovenste sectie van de footer staan 4 kolommen. De teksten die bovenaan kolommen staan, bijvoorbeeld “Progroen & Milieu”, “Probezorgt” en meer zijn niet als kop gemarkeerd. Blinde bezoekers hebben niets aan een (tussen)kop die er wel uitziet als kop, maar die niet als kop is gemarkeerd. Via de koppen op een pagina kunnen gebruikers van hulpsoftware de inhoud scannen of snel naar een bepaalde sectie navigeren. Maar dat kan alleen als de kop ook echt in de code staat. Zijn je koppen alleen visueel als kop vormgegeven (bijvoorbeeld vetgedrukt), maar niet in de code gemarkeerd? Dan ontstaat nog een ander probleem. De structuur van de informatie in de code wijkt dan namelijk af van de visuele structuur. Dit voorkom je door koppen altijd te markeren met het juiste HTML-element, op het juiste kopregelniveau: h1, h2, h3, h4, h5 of h6. Meestal kun je het kopregelniveau kiezen via de content-editor in je CMS. De HTML-code voor de kop wordt dan automatisch toegepast.
Voldoet niet aan SC 1.3.1 - Info and Relationships
Links in deze kolommen horen visueel bij elkaar. Deze relatie ontbreekt in de HTML. Als het voor een ziende bezoeker duidelijk is dat een groep links of paginering bij elkaar hoort, dan moet die structuur ook in de HTML-code aanwezig zijn. Neem de elementen bijvoorbeeld op in een ul- of ol-element. Dit probleem is ook te zien bij links met logo's "Progroen & Milieu", "Probezorgt", enzovoort, in het midden van de footer, bij links onder "Social media" en "Menu" en links die begonnen met "Privacy verklaring" aan het einde van de footer.
Voldoet niet aan SC 1.3.1 - Info and Relationships
Linkteksten onder "Progroen & Milieu" и "Probezorgt", enzovoort, krijgen onvoldoende tekstcontrast wanneer er met de muis overheen wordt gegaan, met een contrastverhouding van 3,9:1, wat onder de minimumvereiste van 4,5:1 valt. Het probleem doet zich voor bij de linkteksten onder "Contact" en "Menu", die onvoldoende tekstcontrast hebben wanneer er met de muis overheen wordt gegaan. De linktekst wordt groen (#1A6501
) en heeft op een donkergrijze (#333333
) achtergrond een contrastverhouding van 1,7:1.
Voldoet niet aan SC 1.4.3 - Contrast (Minimum)
Onder "Sociale media" staan links naar de pagina's van de sociale netwerken. De linktekst "Facebook" is niet toereikend en dient aangevuld te worden tot “Facebook pagina van Probedrijven”. Doe dit op een zelfde wijze voor de andere social-media links.
Voldoet niet aan SC 2.4.4 - Link purpose
Onder "Probedrijven N.V." staan 2 alinea's tekst. In de HTML zijn deze alinea's gemarkeerd als één p-element. Visueel lijkt de tekst uit meerdere alinea’s te bestaan: blokjes tekst met witruimtes ertussen. Deze structuur moet ook in de code staan. Dat doe je door elke alinea in een eigen p-element te plaatsen. Het aantal alinea’s dat je visueel ziet, moet dus gelijk zijn aan het aantal p-elementen in de code.
Voldoet niet aan SC 1.3.1 - Info and Relationships