mcpField
D
dark-mode-testing

dark-mode-testing

github.com/spencerpaulyTesting & quality868442 installsUpdated 13w ago
Repository

About dark-mode-testing

A browser testing skill for developers checking an app's dark theme. It captures light and dark screenshots, then guides inspection of contrast, colors, borders, images, and form controls.

Key features

  1. 01Capture light and dark screenshots
  2. 02Toggle themes through several methods
  3. 03Inspect text and background contrast
  4. 04Check borders, images, and shadows
  5. 05Review form inputs for theme issues

Use cases

  1. 01Check a page after adding dark mode
  2. 02Find low-contrast or invisible text
  3. 03Verify images and inputs in dark mode

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill dark-mode-testing

After installing, type/dark-mode-testingin Claude Code to confirm it loaded.

Details

From the project README

Dark Mode Testing

Verify that dark mode works correctly by toggling themes and comparing.

Workflow

1. Open the App

Navigate to the target page using browser_navigate.

2. Screenshot Light Mode

Take a screenshot of the page in its default (light) state using browser_take_screenshot.

3. Toggle Dark Mode

Toggle dark mode using one of these methods (try in order):

  1. Class toggle: Execute JS to add dark class to <html>:
    document.documentElement.classList.toggle('dark')
    
  2. Attribute toggle: Set data-theme="dark":
    document.documentElement.setAttribute('data-theme', 'dark')
    
  3. Media query: Use browser to emulate prefers-color-scheme: dark
  4. UI toggle: Find the theme toggle button in browser_snapshot and click it
4. Screenshot Dark Mode

Take another screenshot after toggling.

5. Inspect for Issues

Check the browser_snapshot aria tree and screenshots for:

  • White flashes: Elements with hardcoded bg-white instead of bg-white dark:bg-slate-900
  • Invisible text: Text color that matches the dark background (e.g. black text on dark bg)
  • Missing borders: Borders using light-only colors that disappear on dark backgrounds
  • Contrast violations: Text that's too low-contrast against the dark background (need 4.5:1)
  • Hardcoded colors: Any #ffffff, #000000, white, black in inline styles
  • Images: Logos or icons that don't have dark mode variants
  • Shadows: Box shadows that are invisible on dark backgrounds
  • Form inputs: Input fields that keep white backgrounds in dark mode
6. Report
Dark Mode Test:
  Light mode: OK
  Dark mode issues found:
    - Header logo: white logo invisible on dark bg (needs dark variant)
    - Card borders: border-gray-200 invisible on dark bg → add dark:border-gray-700
    - Footer text: hardcoded #333 → use text-gray-900 dark:text-gray-100

Fix each issue and re-test.

Comments

Markdown supported