Manifest position 178 · CrUX rank bucket 1000
https://www.nu.nl
Coverage complete
Coverage-complete remote audit of four representative public-news templates plus a failure route. The privacy gate was included as part of the fresh-session journey.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-emulated screenshot is pixel-identical to the light capture; the preference probe reports color-scheme normal and body background rgb(255,255,255). F01 medium: Dark preference is ignored |
respect-user-preferencesrespects-reduced-motion | pass | high | Reduced-motion emulation was active; getAnimations() returned no running page animations, so no non-essential motion persisted in the sampled load state. |
respect-user-preferencesrespects-contrast | pass | high | High-contrast emulation was active and screenshots/probes retained dark text and clearly outlined controls; Lighthouse contrast audit scored 1. |
implement-natural-interactionsview-transitions | pass | medium | CSS inspection found view-transition rules, and tested navigational surfaces remained coherent rather than showing a broken intermediate state. |
implement-natural-interactionsscroll-driven-animations | not-applicable | medium | No parallax, scrollytelling, or scroll-linked reveal was observed on the four representative templates, so there is no scroll-linked motion implementation to judge. |
implement-natural-interactionsphysical-gestures | not-applicable | medium | No custom swipe, pull-to-reveal, carousel drag, or other gesture-driven primary interaction was present on the exercised news reading paths. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Screenshots and DOM show a persistent, compact fixed header and clear current-section state across homepage, listing and article. |
provide-guided-navigationanchored-positioning | not-applicable | medium | No tooltip, anchored popover, or edge-positioned menu requiring anchor positioning was present in the exercised paths; the load-time interruption is a modal and judged separately. |
provide-guided-navigationdirects-attention | pass | high | Representative navigation uses descriptive links, active-section colour, a skip link, and a prominent article hero to preserve orientation. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop, mobile, homepage, and article screenshots show a centered notification modal covering the lead story before interaction. F02 high: Notification solicitation obscures core news on every fresh load |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The overlay probe finds a DIV role=button with aria-modal=true; there is no dialog element and no role=dialog. F03 medium: Modal uses an invalid ad-hoc role instead of dialog |
maximize-content-reduce-noisereduced-chrome | issues | high | Desktop screenshots devote roughly the first 150px below navigation to empty reserved space before the lead story, while the notification overlay further obscures content. F23 low: Large reserved advertising area delays the news visually |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360x800 the layout primitive measured scrollWidth=clientWidth=360 and zero horizontal overflow; viewport meta is present. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The preference/CSS probe found no @container rules, despite cards and navigation being reused across wide and narrow columns. F04 low: Components rely on viewport layout rather than container responsiveness |
adapt-to-the-form-factorinput-modality-aware | issues | high | The active-focus probe found no outline or box-shadow on most sampled links/buttons, including logo, top navigation, menu, and article links; several top-nav targets are only 14-16px high. F06 high: Keyboard focus is not visibly exposed on primary controls |
support-core-task-successclear-purpose-and-primary-action | pass | high | Homepage, category, search, and article screenshots make news reading and article selection immediately understandable with descriptive headings/links. |
support-core-task-successprimary-flow-completion | pass | high | The representative flow from homepage headline to a complete article loaded successfully without an account wall. |
support-core-task-successclear-system-state-and-recovery | issues | high | The exercised unknown URL says the page could not load but exposes no retry, home, search, or relevant-content links in main. F07 medium: 404 state is a dead end |
be-fast-and-stablegood-core-web-vitals | issues | high | Trace recorded FCP 2.78s, LCP 5.58s, four long tasks, longest 452ms, and 808ms total blocking time. Lighthouse on the mandatory privacy-gate journey corroborated 3.9s LCP. F08 high: Initial rendering is slow and main-thread work is heavy |
be-fast-and-stablevisual-stability | issues | high | The image primitive reports all 100 inspected images lack width and height attributes; Lighthouse also flags unsized images, even though the short layout observation saw CLS 0. F10 medium: Images do not reserve intrinsic space |
be-fast-and-stableefficient-main-thread | issues | high | Trace recorded FCP 2.78s, LCP 5.58s, four long tasks, longest 452ms, and 808ms total blocking time. Lighthouse on the mandatory privacy-gate journey corroborated 3.9s LCP. F08 high: Initial rendering is slow and main-thread work is heavy |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR captured 191 requests and 2.57MB transferred, including 1.57MB script and 1.80MB from third-party origins; two classic head scripts are parser-blocking. F09 high: Network delivery is dominated by scripts and third parties |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | HAR recorded 61 scripts and 1.57MB script transfer; Lighthouse estimates 58KiB unused JavaScript, while advertising and experimentation bundles are among the largest resources. F11 medium: Large script payload includes avoidable unused and duplicate work |
be-inclusivenames-roles-labels | issues | high | The DOM probe found four unnamed controls, including search/settings and carousel arrows; the image audit found three missing alt values in its loaded sample. F05 high: Several controls and images lack accessible names |
be-inclusivesufficient-contrast | pass | high | Lighthouse color-contrast audit scored 1 and visual screenshots show legible text/control contrast on the sampled surfaces. |
be-inclusivestructure-and-focus | issues | high | The category and search templates expose no h1; the focus probe shows most controls without a visible focus style. Lighthouse also found invalid heading order on the consent journey. F24 medium: Heading and focus structure is inconsistent across templates |
be-inclusivelegible-text | pass | high | Article screenshot shows readable line length, spacing, and hierarchy without clipping at the tested viewport. |
be-inclusivezoom-reflow-targets-and-media | issues | high | The active-focus probe found no outline or box-shadow on most sampled links/buttons, including logo, top navigation, menu, and article links; several top-nav targets are only 14-16px high. F06 high: Keyboard focus is not visibly exposed on primary controls |
follow-best-practicesno-console-errors | pass | high | Lighthouse errors-in-console audit scored 1 with an empty details list. |
follow-best-practicessound-document-and-assets | issues | high | The image primitive reports all 100 inspected images lack width and height attributes; Lighthouse also flags unsized images, even though the short layout observation saw CLS 0. F10 medium: Images do not reserve intrinsic space |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reports a cookie issue and three BFCache blockers on the privacy-gate journey; a third-party source map also returns 404. F12 medium: Browser hygiene is weakened by inspector and BFCache issues |
be-discoverabletitle-and-description | pass | high | Homepage and article probes found unique descriptive titles and meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Discoverability reports 0% homepage and 1% article raw-content coverage, no raw title/h1/description, and isJsShell=true. robots.txt disallows GPTBot, ClaudeBot, OAI-SearchBot and other AI agents. F13 high: Core content is absent from raw HTML and AI crawlers are explicitly blocked |
be-discoverablecanonical-and-indexing-signals | pass | high | Homepage/article expose canonical URLs and index/follow; robots.txt returns 200 and names four working sitemap endpoints. |
be-discoverablestructured-and-shareable-metadata | pass | high | Article probe found NewsArticle/WebSite JSON-LD plus accurate Open Graph title, description, URL, type and image. |
be-private-and-securesecure-transport-and-headers | issues | high | Headers show CSP allows unsafe-inline and unsafe-eval; 22 of 26 observed first-party-domain cookies lack Secure and many use SameSite=None. HTTPS, HSTS, and nosniff are present. F14 high: Cookie and CSP posture is too permissive |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker capture found 52 third-party origins and nine known tracker domains; HAR attributes 157 requests and 1.80MB to third parties, while fresh-load cookies include long-lived advertising/experiment identifiers. F15 high: Tracking footprint is disproportionate |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | Notification permission remained default on load and Lighthouse notification/geolocation-on-start audits scored 1; no browser permission prompt fired before user action. |
be-private-and-securedefensive-browser-policies | issues | high | CSP has no frame-ancestors directive, X-Frame-Options and Referrer-Policy are absent, and Permissions-Policy grants only a client-hint rule rather than explicitly restricting sensitive features. F16 medium: Defensive header policy is incomplete |
be-resilientprogressive-enhancement | issues | high | Raw fetches contain only 22 text characters and no title, h1, or description while rendered pages contain thousands of characters; both tested templates are classified as JS shells. F17 high: News content depends on JavaScript |
be-resilientresilient-runtime-behaviour | pass | high | Menu, fixed header, article, and search states rendered without clipped overlays or broken async shells in the exercised JS-enabled paths. |
be-resilientoffline-and-installable | not-applicable | medium | NU.nl is a public news publication rather than an installed app journey; a service worker is registered, but offline installability was judged contextual and out of scope. |
be-resilientnetwork-and-http-failure-states | issues | high | The tested 404 route shows only an error message and no links or retry/search action. F18 medium: Failure recovery lacks useful actions |
be-internationalisedlang-dir-and-logical-properties | pass | medium | The document declares lang=nl, reading order is LTR as expected, and Dutch content/navigation rendered coherently. |
be-internationalisedlocale-aware-data | pass | medium | Article metadata uses ISO 8601 with +02:00 and the UI renders Dutch date/time labels appropriate to nl-NL. |
be-internationalisedtime-zone-correctness | pass | medium | Article JSON-LD stores an explicit +02:00 offset and visible copy clarifies Nederlandse tijd for the international match. |
be-trustworthyno-dark-patterns | pass | high | The sampled public reading flow has descriptive actions and the notification solicitation offers a clearly labelled close control; no forced purchase or disguised ad action was observed. |
be-trustworthyhumane-error-handling | pass | high | No editable user form was present; the exercised 404 explains the failure plainly, while missing recovery is recorded under core task/resilience. |
be-trustworthytrustworthy-input-assistance | not-applicable | medium | The representative public homepage, listing, article, and search-result URL exposed no editable form fields. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | medium | Checkout, subscription management, and authenticated account management were not part of the representative public-news journey and no such flow was exercised. |
be-sustainableoptimised-assets | issues | high | All 100 inspected images use legacy JPEG URLs, 24 lack srcset, 25 are over twice displayed width, and 10 below-fold images are not lazy loaded. F19 high: Image delivery wastes bandwidth |
be-sustainableno-wasteful-work | issues | high | HAR records 1.80MB third-party transfer versus 0.77MB first-party, with 157 of 191 requests third-party; tag management, ads, and experimentation are leading costs. F20 high: Third-party budget outweighs first-party delivery |
be-sustainablethird-party-and-media-budget | issues | high | HAR records 1.80MB third-party transfer versus 0.77MB first-party, with 157 of 191 requests third-party; tag management, ads, and experimentation are leading costs. F20 high: Third-party budget outweighs first-party delivery |
be-agent-readystructured-agent-capabilities | not-applicable | medium | robots.txt explicitly blocks major AI agents and the site exposes no intended agent-facing task surface; this emerging capability is therefore judged not applicable by site intent. |
be-agent-readyon-device-inference | not-applicable | medium | No summarisation or language-model user feature is offered, and the site explicitly blocks AI agents; on-device inference is not required for the core news-reading experience. |
be-memory-efficientno-leak-under-repeated-interaction | issues | high | After ten menu open/close cycles, same-session JS heap rose from 47.6MB to 58.4MB while DOM nodes stayed at 2,857; independent post heap was 53.2MB versus 48.1MB baseline. This is medium-confidence retained-growth evidence, not a proven leak trace. F21 medium: Repeated menu use retains substantial additional heap |
be-memory-efficientbounded-footprint | issues | high | The baseline heap contains 906,269 nodes, 4.52M edges, 48.1MB self-size, 83,032 closures, and 221,969 objects before extended interaction. F22 medium: Baseline heap is heavy for a news listing |
be-memory-efficientno-detached-dom-or-unbounded-listeners | issues | high | After ten menu open/close cycles, same-session JS heap rose from 47.6MB to 58.4MB while DOM nodes stayed at 2,857; independent post heap was 53.2MB versus 48.1MB baseline. This is medium-confidence retained-growth evidence, not a proven leak trace. F21 medium: Repeated menu use retains substantial additional heap |
Provenance
Canonical report: results/atomic/reports/0178-www_nu_nl.json
Report SHA-256: 0c19ad229a4bfbe26b26ec98b0ff262b540b43047d84e7eec95e6e757732deb8
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_nu_nl/2026-07-18T23-17-26-382Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_nu_nl/2026-07-18T23-17-26-382Z
Catalog SHA-256: sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7
Raw screenshots, HARs, traces, heaps, and other browser artifacts are retained at the local evidence root and intentionally are not committed. Artifact paths in the canonical report are relative to that root.