Imagine the classic game DOOM running in the browser, not with JavaScript, WebGL, or Canvas, but with just a single "div" and CSS. It sounds impossible, but that's exactly what GrahamTheDev managed to create in his article "DOOM…rendered using a single div and CSS"
As a QA Engineer, I see this experimental project not only as frontend art, but also as an experimental ground to test modern testing capabilities, especially in the era of an increasingly visual, dynamic, and unconventional web
👀 What is CSS Doom?
Simply put, it's an implementation of DOOM (yes, that 1993 FPS game) using:
- A single HTML element
- Thousands of lines of CSS to create the 3D visual effects
- No JavaScript or Canvas
- Tools like Percy, BackstopJS, or Playwright can compare rendering between versions
- Experiment: run snapshots in different resolutions, browsers, or even OSes to see rendering "glitches"
- Render multiple CSS layers
- Handle parallax, gradient, and transform effects
- Chrome DevTools (FPS meter, Performance tab)
- Lighthouse: especially the Layout Shift & Main Thread Work sections
- No regular DOM structure
- Can't use data-testid, role, or conventional selectors
- Axe DevTools
- Lighthouse Accessibility Audit
- NVDA / VoiceOver
- Use AI models like Applitools Eyes or OpenCV to compare "rendered" frames between versions
- Analysis: Can the AI visually distinguish different levels or maps?
- 🎥 Create a mini-workshop: "Visual Regression 101 via CSS Doom" and, add Comparative study: Rendering vs Performance - CSS-only vs Canvas vs WebGL
- The importance of visual regression in the era of dynamic UI
- The limitations of automation when DOM is unconventional
- The importance of accessibility even in experiments
- The opportunity to use AI to detect visual differences
An extreme experiment, which actually presents new challenges for QA
🔍 QA Engineer Perspective: What Can We Test?
Visual Regression Testing
In projects where all logic is wrapped in visual styles, Visual Regression becomes the main focus:
Performance Testing: CSS Rendering Stress
This game pushes the browser's capabilities hard to:
🛠️ Use:
Automation Testing in an "Empty" DOM
Since only 1
🤔 "This could be a case study: "How do automation tools like Cypress or Playwright adapt when the DOM is so minimal?"
Accessibility Testing (A11y)
HTML without semantic structure = a nightmare for screen reader users
Tools that can be used:
💡 From here, we can discuss the importance of HTML semantics for accessibility QA, even in experimental projects
AI-Based Visual Comparison
As a modern QA, we can try:
🎓 Educational & Experimental Opportunities
I see this as an opportunity for founders to host bootcamps in groups or privately:
Conclusion
CSS Doom is not just about CSS genius, but also about:
How QA can continue to evolve following extreme frontend experiments
As QA Engineers, we can learn a lot:
Closing
Frontend experiments like this will continue to emerge. The challenge is: can our QA approach be adaptive, creative, and even exploratory?
If you're a QA who wants to explore beyond just clicking and verifying, a project like CSS Doom can be a fun, yet challenging, starting point
Top comments (2)
Impressive deep dive into modern QA techniques! The concept of DOM-less testing really caught my attention — it's often overlooked but clearly powerful in the right context. We're exploring visual regression at work, and this article gave me great direction.
Would love to hear more about the challenges you faced integrating this with CI/CD pipelines.
When integrating with CI/CD, the main challenge is of course ensuring consistent rendering between local and CI environments, especially when using a headless browser. If I find any other unique cases, I will update here or on Medium. Thanks a lot! for the feedback 🙌