{
  "id": 17603364,
  "title": "With JavaScript off our dark site renders white, and there is no noscript tag on any of its 72 pages",
  "url": "https://urgent.news/2026/11/01/with-javascript-off-our-dark-site-renders-white-and-there-is-no",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-01T13:15:22.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/daniel_pertu/with-javascript-off-our-dark-site-renders-white-and-there-is-no-noscript-tag-on-any-of-its-72-pages-jej"
  },
  "original_language": "en",
  "account": "The website, pub-trivia.app, appears white when JavaScript is disabled due to the absence of a `noscript` tag on any of its 72 pages. The dark theme is implemented using CSS variables, but with JavaScript off, the site defaults to a white background. The navigation menu, which contains 11 items, only displays six when JavaScript is not enabled. The login form, which can be submitted with JavaScript disabled, does not display any error messages or toasts. The site's four client components, which include a team name generator, a score sheet generator, a QR code generator, and a round planner, all function without JavaScript, as their functionality is rendered on the client-side. However, the team name generator's button does not work, but all possible names are already present in the document. The site's accessibility could be improved by adding a `dark` class to the layout and rendering form errors directly on the page.",
  "summary": "Ask our homepage for its opening tag: curl -s https://pub-trivia.app/ | grep -o '<html[^>]*>' # <html data-dpl-id=\"dpl_...\" lang=\"en\"> No class. The <body> that follows it carries two font variables and font-sans antialiased , and no class either. Nothing in the document we serve says this site is dark. The dark palette is a class in the stylesheet: :root { --background : 0 0% 100% ; --foreground…",
  "key_points": [
    "Website pub-trivia.app appears white without JavaScript",
    "Navigation menu shows only six items, not all eleven",
    "Client components work without JavaScript, but team name generator button is non-functional"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}