Accessibility Evaluation

Report:
Report for 8 selected Sunweb pages


Evaluator
Michiel, Swink; Ralph, Swink
Date
5 June 2025
Commissioner
Sunweb

Summary of the evaluation findings

The website Sunweb (be/dk/fr/nl) does not comply to WCAG 2.1 level AA yet. 19 out of 50 success criteria contain one or more issues. This document describes to what extent the website meets the accessibility requirements captured in WCAG, the Web Content Accessibility Guidelines.

The 8 selected pages have been examined from May 26th to June 5th 2025. A large array of accessibility issues were found. An initial automated test by means of Axe-Devtools found 74 issues on a React-based page ("B variant") whereas 238 issues on the same page without there implementations. It was not possible within the time of this research to give a list of all issues found. Some issues found were not tested on all pages due to the audits' timeframe. It is therefore guiding to trace documented issues on all sample pages. This audit can not be used in a accessibility statement because not all sample pages were examined. Some elements of the website have a highly complex functionality that caused several accessibility problems. It is advised to continue rebuilds them with not only usability but also accessibility in mind.

Some of the more serious issues found:

The audit focuses specifically on the accessibility of the website for people with a disability, such as people who are blind, deaf, low-literate or have other functional problems. For them it is important that the website is technically and substantively designed in such a way that the site is usable. Optimizing a website for accessibility has more advantages; it makes the website more usable for everyone (for example also for people who look at their mobile phone in a sunny environment) and it makes the site easier to find in search engines.

Scope of the evaluation

Website name Sunweb (be/dk/fr/nl)
Scope of the website Within the scope of this inspection:
  • Eight pages selected by Sunweb
Outside the scope of this inspection:
  • All other pages on the Sunweb websites.
  • All external systems and websites linked to via the inspected domain.
Conformance target WCAG 2.1 level AA
Accessibility support baseline Common web browsers and assistive technologies.

Overview of audit results

Principle Passed Failed Can't tell
1 Perceivable 7 9 4
2 Operable 6 8 3
3 Understandable 6 0 4
4 Robust 1 2 0
Total 20 19 11

Reading Guide

This evaluation is a snapshot. The website might have been changed. The problems found are only examples. Therefore, check for any problem whether this also occurs in other places. This evaluation is just a sample of a few pages. As many different types of pages are included in the sample as possible to get the best impression of the accessibility. Pay attention! New problems may arise when making improvements or changes to the website/app. Success criteria marked with "Not present" are automatically approved. Success criteria marked with "Unknown" or "Can't tell" are not approved.

Detailed audit results


1. Perceivable

1.1 Text Alternatives

1.1.1 Non-text Content (Level A)

All non-text content that is presented to the user has a text alternative that serves the equivalent purpose, except for the situations listed below.

Information about success criterion 1.1.1 Non-text Content

Outcome: Failed

Findings: React / B-variant: The Sunweb logo in the header of each page has the accessible text "Sunweb". The fact that this is a logo carries important information, this signifies that this is a webpage from the Sunweb organization. Add the word "logo" to the alt text. The logo links to the homepage, it is suggested to add the link target to the alt text in order to also conform to 2.4.4.
Non-React: The Sunweb logo in the header of each page is a SVG without accessible text. A logo carries important information and can not be considered decorative. Give informative SVG images an attribute role="img" for browsers to present them as an image and add a text alternative by means of adding a title-element as first child-element. Make sure the present link target "home pagina" remains in order to conform to 2.4.4.

React / B-variant: The header of each page includes icons, not all include a text alternative such as the globe and a magnifying glass. Therefore the buttons they represent have no accessible name, see 4.2.1. Give informative SVG images an attribute role="img" for browsers to present them as an image and add a text alternative by means of adding a title-element as first child-element.
Non-React: In the header of each page there are icons of a globe and a magnifying glass. These images carry meaning but have no text alternative. Therefore the buttons they represent have no accessible name, see 4.2.1. Give icons with meaning always an accessible text, for example by placing them as img with an alt attribute in the html.

React / B-variant: The footer of each page includes social media icons without text alternatives. Therefore the buttons they represent have no accessible name, see 4.2.1. Give informative SVG images an attribute role="img" for browsers to present them as an image and add a text alternative by means of adding a title-element as first child-element.
Non-React: The footer of each page includes social media icons without text alternatives. Therefore the buttons they represent have no accessible name, see 4.2.1. Give icons with meaning always an accessible text, for example by placing them as img with an alt attribute in the html.

React / B-variant: The header of each page *includes an icon with a heart and a number which links to a "favorites" page. Visually the purpose of the link is clear, but assistive technology only displays the number. Add a link tekst only for software. This can be done for example with an aria-label.
Non-React: identical issue.

React / B-variant: The BE/NL search result page contains images with visual text labels such as "LAST MINUTE". This is the same on the other language search pages, such as "AFBUDSREJSER" on the DK search result page. These images have no alt attributes. In many cases supportive software will display the filename of the image. Add an alt attribute that describes the image. It's better not to use an textual image, see 1.4.5.
Non-React: identical issue.

React / B-variant: not present.
Non-React: The BE/NL property specific search result page features the modal "Gun jezelf het voordeel van vakantie" which can appear without warning. The modal consists of an image with text. The text is not available for supportive software and the image has no text alternative. All information in the image is lost to blind visitors. Give the image a text alternative that contains all text and visual information in the image, or add the text as html text on the page to conform 1.4.5.
Note: This modal is discussed under various criteria in this report. As a summary, also keep in mind that the modal must be keyboard accessible, it has a correct place in the focus sequence (focus remains in the modal till the user has closed it) and it's presence is announced by screenreaders upon appearance.


1.2 Time-based Media

1.2.1 Audio-only and Video-only (Prerecorded) (Level A)

For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such:

Information about success criterion 1.2.1 Audio-only and Video-only (Prerecorded)

Outcome: Inapplicable


1.2.2 Captions (Prerecorded) (Level A)

Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such.

Information about success criterion 1.2.2 Captions (Prerecorded)

Outcome: Passed


1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A)

An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such.

Information about success criterion 1.2.3 Audio Description or Media Alternative (Prerecorded)

Outcome: Failed

Findings: React / B-variant: on the property-specific pages, the image carousel may contain embedded YouTube videos. When it contains no voice but only music, blind visitors don't know what is shown in the video. Add a media alternative or an audio description. The text in the page can be considered as media alternative, but this has to be announced. Add for example a text to the title of the iframe with the video "All information in the video is available in the text on this page". However, this is not sufficient for 1.2.5.
Non-React: identical issue.


1.2.4 Captions (Live) (Level AA)

Captions are provided for all live audio content in synchronized media.

Information about success criterion 1.2.4 Captions (Live)

Outcome: Inapplicable


1.2.5 Audio Description (Prerecorded) (Level AA)

Audio description is provided for all prerecorded video content in synchronized media.

Information about success criterion 1.2.5 Audio Description (Prerecorded)

Outcome: Failed

Findings: React / B-variant: on the property-specific pages, the image carousel may contain embedded YouTube videos. When it contains no voice but only music, blind visitors don't know what is shown in the video. Add a media alternative or an audio description. The text in the page can be considered as media alternative, but this has to be announced. Add for example a text to the title of the iframe with the video "All information in the video is available in the text on this page". However, this is not sufficient for 1.2.5.
Non-React: identical issue.


1.3 Adaptable

1.3.1 Info and Relationships (Level A)

Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.

Information about success criterion 1.3.1 Info and Relationships

Outcome: Failed

Findings: React / B-variant: upon use of the search field in the header, a selection of results appear under various visual headings. These headings are not marked as such in HTML. There are various solutions to this, from placing them in H-elements to changing the structure of the search results. The result should however be that accessibility aids can identify/differentiate the categories and the underlying links to the user.
Non-React: identical issue.

React / B-variant: many pages feature numbered navigation, such as the "Search" and "Search results". The accessible names of the buttons are "1", "2", "3" etc. For sighted visitors it's obvious that these are page numbers, however for blind visitors it's not clear that these links point to other pages with search results. Add the word "page" to the accessible name of these buttons.
Non-React: identical issue.

React / B-variant: the footer of each page contains an img element "Travelife" with the alternative text "sustainablity". It is nested directly in an unordered list which may only contain list elements, as it cannot be described by assistive technology in it's current form. Put the img element inside a list item.
Non-React: identical issue.


1.3.2 Meaningful Sequence (Level A)

When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.

Information about success criterion 1.3.2 Meaningful Sequence

Outcome: Can't tell


1.3.3 Sensory Characteristics (Level A)

Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, size, visual location, orientation, or sound.

Information about success criterion 1.3.3 Sensory Characteristics

Outcome: Can't tell


1.3.4 Orientation (Level AA)

Content does not restrict its view and operation to a single display orientation, such as portrait or landscape, unless a specific display orientation is essential.

Information about success criterion 1.3.4 Orientation

Outcome: Passed


1.3.5 Identify Input Purpose (Level AA)

The purpose of each input field collecting information about the user can be programmatically determined when:

Information about success criterion 1.3.5 Identify Input Purpose

Outcome: Inapplicable


1.4 Distinguishable

1.4.1 Use of Color (Level A)

Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.

Information about success criterion 1.4.1 Use of Color

Outcome: Failed

Findings: React / B-variant: many pages feature numbered navigation, such as the "Search" and "Search results" pages. A darker hue around a page number indicates the current page. Visually impaired or color blind visitors might miss this information. Use an other indication apart from color contrast, for example an outline, or make sure the difference in color has a ratio larger than 3:1 in order to meet this criterium.
Non-React: identical issue.


1.4.2 Audio Control (Level A)

If any audio on a Web page plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level.

Information about success criterion 1.4.2 Audio Control

Outcome: Passed


1.4.3 Contrast (Minimum) (Level AA)

The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following:

Information about success criterion 1.4.3 Contrast (Minimum)

Outcome: Failed

Findings: React / B-variant: the "Search results" page features red text (HEX #FF333F) on white background, for example the crossed out price and "Lees meer" (BE/NL page). The contrast of these texts is too low, color blind visitors or visitors with impaired vision might not be able to read them. The contrast ratio is 3,6:1 where it should be at least 4,5:1. The white text "Bekijk prijzen" on the same red background has the identical contrast ratio. On the same pages the red percentage on the pink background (HEX #FACAC9) next to the button "Bekijk prijzen" has a too low contrast ratio of 2,9:1.
Non-React: identical issue.

React / B-variant: the "Search results" page features text in different shades of grey on white or light grey backgrounds that do not meet color contrast requirements. For example on the page the text "### Beoordelingen" or "### ervaringen" (BE/NL page) (HEX #837868) on a white background has a contrast ratio of 4,3:1 where this should be at least 4,5:1. On both pages the text "Wees er snel bij!" (HEX #837868) on beige (HEX #F3EFEB) has a contrast ratio of 3,8:1. Make sure all texts have enough contrast in order to be readable by everyone.
Non-React: identical issue.

React / B-variant: the "Search results" page features the white text "Selections" on an orange background (HEX #F66E20) that does not meet the color contrast requirements. The contrast ratio is 2,9:1 where it should be at least 4,5:1.
Non-React: identical issue.


1.4.4 Resize text (Level AA)

Except for captions and images of text, text can be resized without assistive technology up to 200 percent without loss of content or functionality.

Information about success criterion 1.4.4 Resize text

Outcome: Passed


1.4.5 Images of Text (Level AA)

If the technologies being used can achieve the visual presentation, text is used to convey information rather than images of text except for the following:

Information about success criterion 1.4.5 Images of Text

Outcome: Failed

Findings: React / B-variant: not present.
Non-React: The BE/NL property specific search result page features the modal "Gun jezelf het voordeel van vakantie" which can appear without warning. The modal consists of an image with text. Visitors with impaired vision can not adapt this text to their needs. Add the text in the image also as html text in the page in order to pass this criterium.


1.4.10 Reflow (Level AA)

Content can be presented without loss of information or functionality, and without requiring scrolling in two dimensions for:

Except for parts of the content which require two-dimensional layout for usage or meaning.

Information about success criterion 1.4.10 Reflow

Outcome: Can't tell


1.4.11 Non-text Contrast (Level AA)

The visual presentation of the following have a contrast ratio of at least 3:1 against adjacent color(s):

Information about success criterion 1.4.11 Non-text Contrast

Outcome: Failed

Findings: React / B-variant: on the property-specific pages, yellow stars (HEX #F4BE15) indicate the rating. The contrast of these stars with the white background is too low. The contrast ratio is 1.7:1 where this should be at least 3:1. (Note they are beige grey on the "search results" pages where they do meet the standards. Should the yellow color be preferred, a dark outline would also solve the issue at hand).
Non-React: identical issue.


1.4.12 Text Spacing (Level AA)

In content implemented using markup languages that support the following text style properties, no loss of content or functionality occurs by setting all of the following and by changing no other style property:

Information about success criterion 1.4.12 Text Spacing

Outcome: Failed

Findings: React / B-variant: "search results" pages feature a carrousel of various properties, where text content is placed on a white card. If text spacing is used in accordance to the values set by this criterium, text may appear under the card and on the background image. In some cases the contrast between the black text and the image is too low. Good reflow of the card would solve this issue. (This issue also covers criteria 1.1.1 and 1.4.10 but is only mentioned here for efficiency purposes).
Non-React: identical issue.


1.4.13 Content on Hover or Focus (Level AA)

Where receiving and then removing pointer hover or keyboard focus triggers additional content to become visible and then hidden, the following are true:

Information about success criterion 1.4.13 Content on Hover or Focus

Outcome: Can't tell


2. Operable

2.1 Keyboard Accessible

2.1.1 Keyboard (Level A)

All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints.

Information about success criterion 2.1.1 Keyboard

Outcome: Failed

Findings: React / B-variant: the header on each features a profile button opening a dropdown menu ("mijn Sunweb" on the BE/NL page). The link "Inloggen" and "Maak een account aan" do not get keyboard focus and therefore they cannot be activated. Make sure all interactive elements can be operated by means of the keyboard.
Non-React: identical issue.

React / B-variant: the "search results" pages feature a slider for price adjustments. The slider can be controlled by means of the keyboard (arrow keys) although it updates on every keystroke. Setting a price range means having to re-adjust focus for each keystroke, which is a needlessly difficult activity. Mouse users on the other hand can drag and drop with ease. Make sure there is a mechanism to enter a price range for keyboard users, perhaps only appearing upon keyboard focus as skiplinks do.
Non-React: identical issue.

React / B-variant: not present.
Non-React: on property-specific search result pages, images are placed in a slider. Keyboard navigation requires one to tab through all of the images before continuing on the page. In case one opts to use such a slider, make sure a pause button is available. See the React / B-variant page for a good alternative.


2.1.2 No Keyboard Trap (Level A)

If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away.

Information about success criterion 2.1.2 No Keyboard Trap

Outcome: Passed


2.1.4 Character Key Shortcuts (Level A)

If a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true:

Information about success criterion 2.1.4 Character Key Shortcuts

Outcome: Failed

Findings: React / B-variant: on the property-specific pages, the image carousel may contain embedded YouTube videos. This video player uses one key functionality, for example "f" for fullscreen and "m" for mute. This functionality can cause problems for visitors using speech software because they rely on one key commands for website navigation. Solve this by adding the "disablekb=1" command to the embedcode to disable this functionality.
Non-React: identical issue.


2.2 Enough Time

2.2.1 Timing Adjustable (Level A)

For each time limit that is set by the content, at least one of the following is true:

Information about success criterion 2.2.1 Timing Adjustable

Outcome: Can't tell


2.2.2 Pause, Stop, Hide (Level A)

For moving, blinking, scrolling, or auto-updating information, all of the following are true:

Information about success criterion 2.2.2 Pause, Stop, Hide

Outcome: Failed


2.3 Seizures and Physical Reactions

2.3.1 Three Flashes or Below Threshold (Level A)

Web pages do not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds.

Information about success criterion 2.3.1 Three Flashes or Below Threshold

Outcome: Passed


2.4.1 Bypass Blocks (Level A)

A mechanism is available to bypass blocks of content that are repeated on multiple Web pages.

Information about success criterion 2.4.1 Bypass Blocks

Outcome: Failed

Findings: React / B-variant: each page lacks a mechanism to avoid repetitive content, for example the header, and the search filters on "search results" pages. Visitors that navigate the website by means of the keyboard have to click past the same interactive elements on each page before they get to the main content. This can be solved by adding a link tot he page (a skiplink) that moves the focus to the first unique content of a page. This link has to be the first link on the page. It can be hidden for all visitors and only shown when it gets keyboard focus. Multiple skiplinks may be used.
Non-React: identical issue.


2.4.2 Page Titled (Level A)

Web pages have titles that describe topic or purpose.

Information about success criterion 2.4.2 Page Titled

Outcome: Passed


2.4.3 Focus Order (Level A)

If a Web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability.

Information about success criterion 2.4.3 Focus Order

Outcome: Failed

Findings: React / B-variant: upon use of the search field in the header, a selection of results appear under various visual headings, followed by a button to view more results of that specific category ("Meer bekijken" in BE/NL). Upon keyboard activation of the button and continued navigation by means of the tab key, the next category receives focus instead of the first newly added search result. Place these new results in the tab order before the next category.
Non-React: identical issue.

React / B-variant: the header on each features a profile button opening a dropdown menu ("mijn Sunweb" on the BE/NL page). When that happens the tab key is no longer active because the element with role="menu" now contains a tabindex=0 attribute making it non-focusable and the nav, main and footer elements are hidden for assistive software by means of an aria-hidden attribute. Visitors relying on navigation by means of the keyboard have only one option to continue and that's the escape key. Make sure the process has a logical tab order and page navigation is not disrupted.
Non-React: identical issue.

React / B-variant: not present.
Non-React: the BE/NL property specific search result page features the modal "Gun jezelf het voordeel van vakantie" which can appear without warning. The modal blocks the view of part of the page behind it but keyboard focus is still on this page and can be on links that are not visible behind the modal window. When a modal blocks part of a page keyboard focus should be only on elements that are inside this modal until it is closed. Do not give keyboard focus to the underlying page.

React / B-variant: the BE/NL property specific search result page features a menu with 6 items underneath the property name ("Algemeen" till "Omgeving"). These items do not fall in the focus order and are therefore skipped by keyboard navigators. Make sure they receive focus as on the non-react variant pages.
Non-React: no issue.

React / B-variant: issue solved.
Non-React: the NL/BE property-specific search result page feature various dropdown elements under the header "Kamertypes". The images within these dropdown menus are focusable even when the menu's are closed. Make sure elements that are not visible don't get keyboard focus.


The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general.

Information about success criterion 2.4.4 Link Purpose (In Context)

Outcome: Failed

Findings: React / B-variant: issue solved.
Non-React: The logo of Sunweb in the header of each page is a link to the homepage, but the accessible name of the image is "Sunweb". Add the linktarget, for example by adding it to the alt text.

React / B-variant: the first time a visitor visits the website on the BE/NL version, a cookie warning appears. The Sunweb logo is a link to https://www.cookieinfo.net/. This link target does not correspond with the text "Sunweb". Also the link does not have an accessible name, so for blind visitors it is not clear what the target of the link is. Give the link a proper visual text that describes the target and that's also accessible.
Non-React: identical issue.

React / B-variant: the first time a visitor visits the website on the BE/NL version, a cookie warning appears. In the modal that opens with the button "Beheren" there are a number of triangular dropdown options that all have the same accessible link tekst "Details". For blind visitors it is not clear which details will be shown. Add for example the text of the label of the checkbox to the accessible link text.
Non-React: identical issue.


2.4.5 Multiple Ways (Level AA)

More than one way is available to locate a Web page within a set of Web pages except where the Web Page is the result of, or a step in, a process.

Information about success criterion 2.4.5 Multiple Ways

Outcome: Passed


2.4.6 Headings and Labels (Level AA)

Headings and labels describe topic or purpose.

Information about success criterion 2.4.6 Headings and Labels

Outcome: Can't tell


2.4.7 Focus Visible (Level AA)

Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.

Information about success criterion 2.4.7 Focus Visible

Outcome: Failed

Findings: React / B-variant: issue solved.
Non-React: the BE/NL property specific search result page features various room types under the header "Kamertypes". These dropdown elements do not feature a focus border. Make sure each element that has keyboard focus has one for good visible indication.


2.5 Input Modalities

2.5.1 Pointer Gestures (Level A)

All functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture, unless a multipoint or path-based gesture is essential.

Information about success criterion 2.5.1 Pointer Gestures

Outcome: Passed


2.5.2 Pointer Cancellation (Level A)

For functionality that can be operated using a single pointer, at least one of the following is true:

Information about success criterion 2.5.2 Pointer Cancellation

Outcome: Failed

Findings: React / B-variant:
the "search results" pages contain a filter menu that features a range slider that allows one to enter a minimum and maximum price. When clicking on one point on the slider that indicator will move towards the mouse pointer. It's not possible to stop or cancel this motion or undo the change in price. Do not use a Down-Event in order to comply with this criterium.
Non-react: identical issue.


2.5.3 Label in Name (Level A)

For user interface components with labels that include text or images of text, the name contains the text that is presented visually.

Information about success criterion 2.5.3 Label in Name

Outcome: Can't tell


2.5.4 Motion Actuation (Level A)

Functionality that can be operated by device motion or user motion can also be operated by user interface components and responding to the motion can be disabled to prevent accidental actuation, except when:

Information about success criterion 2.5.4 Motion Actuation

Outcome: Passed


3. Understandable

3.1 Readable

3.1.1 Language of Page (Level A)

The default human language of each Web page can be programmatically determined.

Information about success criterion 3.1.1 Language of Page

Outcome: Passed


3.1.2 Language of Parts (Level AA)

The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text.

Information about success criterion 3.1.2 Language of Parts

Outcome: Can't tell


3.2 Predictable

3.2.1 On Focus (Level A)

When any component receives focus, it does not initiate a change of context.

Information about success criterion 3.2.1 On Focus

Outcome: Can't tell


3.2.2 On Input (Level A)

Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component.

Information about success criterion 3.2.2 On Input

Outcome: Can't tell


3.2.3 Consistent Navigation (Level AA)

Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.

Information about success criterion 3.2.3 Consistent Navigation

Outcome: Passed


3.2.4 Consistent Identification (Level AA)

Components that have the same functionality within a set of Web pages are identified consistently.

Information about success criterion 3.2.4 Consistent Identification

Outcome: Passed


3.3 Input Assistance

3.3.1 Error Identification (Level A)

If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text.

Information about success criterion 3.3.1 Error Identification

Outcome: Inapplicable


3.3.2 Labels or Instructions (Level A)

Labels or instructions are provided when content requires user input.

Information about success criterion 3.3.2 Labels or Instructions

Outcome: Can't tell


3.3.3 Error Suggestion (Level AA)

If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content.

Information about success criterion 3.3.3 Error Suggestion

Outcome: Inapplicable


For Web pages that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, at least one of the following is true:

  1. Reversible: Submissions are reversible.
  2. Checked: Data entered by the user is checked for input errors and the user is provided an opportunity to correct them.
  3. Confirmed: A mechanism is available for reviewing, confirming, and correcting information before finalizing the submission.

Information about success criterion 3.3.4 Error Prevention (Legal, Financial, Data)

Outcome: Inapplicable


4. Robust

4.1 Compatible

4.1.1 Parsing (Level A)

In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features.

Information about success criterion 4.1.1 Parsing

Outcome: Passed


4.1.2 Name, Role, Value (Level A)

For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.

Information about success criterion 4.1.2 Name, Role, Value

Outcome: Failed

Findings: React / B-variant: the first time a visitor visits the website on the BE/NL version, a cookie warning appears. In the modal that opens with the button "Beheren" the button that shows the previous page has no accessible name. Blind visitors do not know the purpose of the button. Make sure every interactive element has an accessible name.
Non-react: identical issue.

React / B-variant: the first time a visitor visits the website on the BE/NL version, a cookie warning appears. In the modal that opens with the button "Beheren" there are a number of links with the accessible text "Details" that open or close a block with more information. Sighted visitors can see if a block of information is folded or unfolded. Blind or visually impaired visitors that rely on screen reading software miss the status and don't know whether this information is available or not. Add the status to the code by means of aria-expanded or a similar technique.
Non-react: identical issue.

React / B-variant: the header of each page contains buttons with no text alternatives, only icons: a globe and a magnifying glass. These buttons have no accessible name. Blind visitors don't know what the buttons do. Make sure every interactive element has an accessible name. Also see 1.1.1.
The same problem appears more often on website, for example all buttons with a heart icon that add a destination to favourites an the buttons with an "i" that provide extra information have no accessible name.
Non-react: identical issue.

React / B-variant: on the property-specific search result page underneath the header "Kamertypes" there are a number of room options that open as pop-ups. The button with a downward/upward arrow has no accessible name, only that fact it is a button will be announced by accessibility aids. Blind visitors don't know the purpose of the button.
Non-react: a similar issue is found with the same room descriptions which are featured in dropdown elements here. While sighted visitors can see if the folded or unfolded, blind or visually impaired visitors rely on accessibility aids to convey this status. Add the status to the code by means of aria-expanded or a similar technique.

React / B-variant: various pages feature numbered navigation, such as the "Search" and "Search results" pages. The buttons with arrows to go to the previous or next page have no accessible name. Blind visitors don't know what the buttons do. Give each interactive element an accessible name.
Non-react: identical issue.

React / B-variant: each page features a search option under the header with 4 buttons that open more options ("Wanneer", "Hoelang" etc. on the BE/NL version). The div element that encloses the button has an aria-expanded attribute but this attribute can only be added to interactive elements. Supportive software can not determine whether the options are available or not. This might be solved by moving the aria-expanded attribute to the button inside the div.
Non-react: identical issue.

React / B-variant: the "Search" and "Search results" pages feature a destination filter ("Bestemming" on the BL/NL version). There are three fields with complex interaction. Both when using navigation with the keyboard or when using reading software unexpected behaviour occurs. It is not possible to mention all issues but this functionality fails 1.3.1, 2.4.3, 2.4.7 and 4.1.2. The best way to make this function accessible is a coordinated effort between a frontend programmer and the UX design/accessibility side of things.


4.1.3 Status Messages (Level AA)

In content implemented using markup languages, status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.

Information about success criterion 4.1.3 Status Messages

Outcome: Failed

Findings: React / B-variant: each page features a search option under the header. Upon input search results automatically appear, although this is not announced. Integrate the role="status" attribute so users of accessibility aids are notified of the new content.
Non-react: identical issue.

Basis for this evaluation

The audit was conducted based on the evaluation method of the W3C, WCAG-EM. This is largely done manually by taking a sample. For a quickscan we use parts of this methodology. Despite all the researcher's care and experience, it is possible that a problem has not been identified. Keep in mind that in a next audit certain parts could be assessed differently because of further development of techniques and assistive software. Tools are used in the manual audit.

Sample of audited web pages

Relied upon techniques

Web browsers (User Agents) and other software

The following software was used in this evaluation:

Resources:

This report is mainly created with the online W3C report tool.

Source: toegankelijkheidsrapport.swink.nl/sunweb-be-dk-fr-nl/audit/
Printed: 2025-07-02 08:58:05 v2.4-011