# Cremote Changelog ## Version 2.2.1-contrast-detection-fix (2025-12-09) ### Improvements: Enhanced Text Color Detection This patch improves the text color detection algorithm to properly handle complex nested DOM structures. #### What Changed **Enhanced Recursive Search Algorithm:** - Previous version checked only direct children - New version recursively searches all descendant elements - Finds the element with the most text content (ignores `
`, empty elements) - Properly handles structures like `text
` **Example Fix:** ```html 314-560-7171
``` - **Before:** Used `` color (blue) = 4.17:1 contrast ❌ - **After:** Uses `` color (white) = 21.00:1 contrast ✅ **Modified Files:** - `daemon/daemon.go` - Lines 9301-9354: Implemented recursive `findTextBearingElement()` function **Version Updates:** - Daemon: `2.2.1-contrast-detection-fix` - MCP Server: `2.2.1-contrast-detection-fix` - CLI: `2.2.1` --- ## Version 2.2.0-contrast-detection-fix (2025-12-09) ### Major Improvements: Contrast Detection This release fixes three critical issues in the WCAG contrast checking functionality that were causing false positives and incorrect reporting. #### Fixed Issues 1. **Gradient Background Detection** ✅ - **Problem:** Text on gradient backgrounds was incorrectly reported as white-on-white (1:1 ratio) - **Fix:** Enhanced gradient detection to walk up the DOM tree and find gradients on parent elements - **Impact:** Eliminates false positives for text on gradient backgrounds (e.g., hero sections with gradient overlays) 2. **Solid Background Priority** ✅ - **Problem:** Gradient backgrounds were incorrectly applied to elements with solid backgrounds - **Fix:** Modified gradient detection to stop when encountering solid backgrounds - only applies gradients when no solid background exists between element and gradient - **Impact:** Ensures accurate background color detection for elements with solid backgrounds 3. **Child Element Text Color Detection** ✅ - **Problem:** Tool used parent element's color (e.g., ``) instead of child element's color (e.g., ``) - **Fix:** Added recursive search to find the descendant element with the most text content and use its color - **Impact:** Accurate text color detection for complex DOM structures like `text
` ### Technical Details **Modified Files:** - `daemon/daemon.go` - Lines 9152-9220: Enhanced `analyzeGradientContrast()` function - `daemon/daemon.go` - Lines 9305-9340: Updated background detection logic - `daemon/daemon.go` - Lines 9301-9354: Enhanced text color detection with recursive search **Version Updates:** - Daemon: `2.2.0-contrast-detection-fix` - MCP Server: `2.2.0-contrast-detection-fix` - CLI: `2.2.0` ### Testing Test cases that now work correctly: - ✅ White text on gradient backgrounds (e.g., `linear-gradient(rgb(12, 90, 201) 0%, rgb(0, 0, 0) 100%)`) - ✅ Text on solid backgrounds with gradient ancestors - ✅ Links with styled child spans (`text`) ### Upgrade Notes After deploying this version: 1. Restart the cremote daemon service 2. Restart the MCP server or Augment extension 3. Re-run contrast audits on pages that previously showed false positives ### Documentation See `GRADIENT_CONTRAST_FIX.md` for detailed technical documentation of the fixes. --- ## Version 2.1.0-visibility-fix ### Improvements - Enhanced visibility detection for contrast checking - Improved handling of hidden elements --- ## Version 2.0.1 ### Initial Release - Core cremote functionality - Browser automation via Chrome DevTools Protocol - Accessibility testing tools - MCP server integration