Skip to content

[Bug]: Cross-app — faded and mis-coloured labels fall below 4.5:1, disabled fields look editable, and mode pills and theme swatches show no hover #2882

Open

Description

@laurentiu021

Problem

  1. Opacity on muted text takes it back under the contrast floor. ThemeTextContrastTests keep TextMuted and TextSecondary at 4.5:1 or better on every surface, and these lines then add an element Opacity of 0.6, 0.65 or 0.7, which blends the text into its background. On the default Midnight Indigo, blending the way WPF composites: Privacy & Telemetry's category label 2.98:1, Notification Blocker's app ID line and Preinstalled Apps' package name about 3:1, App Blocker's "N blocked" footer and Shortcut Cleaner's scanning line 3.75:1, the sidebar's "by laurentiu021" about 3.7:1, and the collapsed sidebar groups' subtitles, on every page, about 4.15:1 (3.43:1 on Clean Indigo). All of it is information, not decoration, and no test looks at Opacity.
  2. Quick Tune-Up's label ignores the colour for text on the accent. The Dashboard's Quick Tune-Up button puts its glyph and label in TextBlocks of the view, so the app's keyless TextBlock style paints them TextPrimary over the accent fill instead of TextOnAccent, which the button template passes down. That is 1.93:1 on Warm Ember and 4.02:1 on Midnight Indigo, below 4.5:1 on 11 of the 12 presets. Every other primary button uses string content and keeps TextOnAccent; DiskAnalyzerView's map tiles document this trap.
  3. Disabled text boxes and drop-downs look editable. The TextBox and ComboBox templates in App.xaml have no IsEnabled trigger, while buttons, switches, sliders and checkboxes all dim. On Dark Mode Scheduler, where the schedule is off by default, the two time boxes sit in a disabled grid and look ready to type in; clicking gives no caret. Gaming Profile's game picker looks live while game mode is on.
  4. No hover on several controls. ModePill has only an IsChecked trigger, so the Appearance panel's Dark/Light/Auto/Custom switch, Browser Cleaner's "Browsing data / Extensions" and Privacy & Telemetry's "By topic / By reach" change nothing under the pointer but the cursor. The theme preset cards and the four custom colour swatches have no hover either, and the toast's close button is a bare Border with no triggers.

Steps to reproduce

  1. On Midnight Indigo, open Privacy & Telemetry and read a row's category label, then hover the "By topic / By reach" switch.
  2. Switch to Warm Ember and look at the Dashboard's Quick Tune-Up button.
  3. Open Dark Mode Scheduler with the schedule off and click a time box.

Expected behavior

Every text line meets 4.5:1, a disabled field looks disabled, and every control the pointer can reach reacts to it.

Proposed fix

  • Drop the element Opacity and use TextMuted or TextSecondary as they are; if a fainter step is wanted, add a derived brush and put it in ThemeTextContrastTests. A guard that rejects Opacity below 1 on a TextBlock, or on a panel holding one, unless listed with a reason.
  • Give Quick Tune-Up's TextBlocks Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType=Button}}", or move them into a ContentTemplate, and extend the themed-fill guard to TextBlocks inside a filled button.
  • An IsEnabled trigger at 0.5 opacity (the checkbox value) in the TextBox and ComboBox templates.
  • An IsMouseOver trigger to AccentSoft in ModePill, before the IsChecked one, a hover for the preset cards, the swatches and the toast's close button, and a guard that every button-like template has an IsMouseOver trigger.

Affected tab

Privacy & Telemetry, Notification Blocker, Preinstalled Apps, App Blocker, Shortcut Cleaner, the sidebar, Dashboard, Dark Mode Scheduler, Gaming Profile, Browser Cleaner, the Appearance panel and toasts.

Activity

  1. added
    bugSomething isn't working
    uxVisual or interaction improvement
    on Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinguxVisual or interaction improvement

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions