Dutch Web Guidelines testing

Last modified by Vincent Massol on 2025/07/03 14:50

Dutch Web Guidelines are abbreviated as DWG on this page.

Warning

The DWG have been dropped in favor of european standards. There are few documents about it online left, and nothing in english.

For conveniency, we'll talk about the set of test that was implemented in the XWiki build for DWG as "DWG tests", even if nowadays this does not mean much anymore.

In the XWiki Standard module xwiki-platform-distribution-flavor-test-webstandards , we have a set of tests that aim to validate that the DWG are followed.

Those tests were implemented initially in XWiki Enterprise and moved to XWiki standard since. They are still run on CI regularly. Those tests have been updated since, in order to adapt to the latest updates of HTML (what was incorrect 10 years ago can now be correct emoticon_smile ).

Most of those tests intersect with the more recent WCAG tests implemented with Axe-core. Some of the tests have lower expectations that what is implemented in Axe-core, some have stronger expectations.

Test Exceptions

The DWG were strong expectations on HTML. These expectations are not legitimate to make on every single page. That's why we leave some of the pages out of the DWG tests.

Hidden pages

Hidden pages are not meant to be viewed by the user, so in order to simplify the management of DWG validation, we decided to skip them for now.
See the full discussion related to this decision here.

Some hidden pages containing specific objects are still viewable by the users: we use a whitelist to enforce the check on them.
The full list of exceptions is then available in the dedicated pom.xml.

Other Exceptions

Here are some exceptions that make the DWG validators fail but that we consider valid (i.e. we consider the validators are overzealous in these cases).

Information

The up to date and exact excludes can be found in the DWG validation java code.

  • We are using the H1 element several times on pages, once for the page title and once for the header level 1 from the page's content. We consider that this doesn't violate the rule "Do not skip any heading elements in the document hierarchy." since we're not skipping any level.
  • "Use (at least) the meta element to specify the character set and place this element as high as possible in the head section of the markup.". The Content-Type META element is th first one in the HEAD element and cannot be placed higher.
  • The ColorThemes application is using inline styles to display a preview of the colors and options of themes, this is something we cannot easily avoid.
  • The XWiki syntax allows using elements which are not allowed by accessibility guidelines. Sandbox.WebHome contains demonstrations which does not satisfy the following guidelines:
    • "Use the headers and id attributes to associate table labels (th cells) with individual cells in complex tables" 
    • "Use the scope attribute to associate table labels (th cells) with columns or rows. "
    • "The use of sub and sup tags is not allowed."
  • The XWiki syntax allows using elements which are not allowed by accessibility guidelines. XWiki.XWikiSyntax contains demonstrations which does not satisfy the following guidelines:
    • "Use the p (paragraph) element to indicate paragraphs. Do not use the br (linebreak) element to separate paragraphs."
    • "Use ol (ordered list) and ul (unordered list) elements to indicate lists."
    • "Use the headers and id attributes to associate table labels (th cells) with individual cells in complex tables" 
    • "Use the scope attribute to associate table labels (th cells) with columns or rows. "
    • "The use of sub and sup tags is not allowed."
    • "Links to e-mail addresses: the e-mail address to which the message is addressed must be visible in the link text.
    • "CSS should be placed in linked files and not mixed with the HTML source code."
  • The Panels.PanelWizard and XWiki.Treeview pages are relying on JavaScript libraries that needs some HTML elements to contain inline styles.{{/version}}

Get Connected