Skip to content

Canvas Instructure textboxes illegible with Dark Reader #16126

Open

Description

@FaultyJuggler

Prerequisites

  • I searched for any existing report about this website issue to avoid opening a duplicate.
  • I can reproduce this website issue in a new, unmodified web browser profile with Dark Reader installed as the only extension.

Website Issue Description

Inbox and other textboxes like grading comment boxes in speedgrader show as white background with grey text

Website Address

https://ncat.instructure.com/

Steps To Reproduce

Open any canvas site
open inbox or speedgrader
Observe white background that should be dark when Dark Reader is on

Screenshots

No response

Operating System

Macos

Web Browser name and version

Chrome / Brave

Dark Reader version

Version 4.9.133

Additional Context

Using this fix locally

================================

instructure.com
*.instructure.com

CSS
input,
textarea,
select,
[contenteditable="true"],
textarea[data-testid="message-body"],
[class*="-textArea"],
[class*="-textInput"],
body#tinymce {
-webkit-text-fill-color: #e8e6e3 !important;
background-color: #1e2022 !important;
caret-color: #e8e6e3 !important;
color: #e8e6e3 !important;
}
[class*="-textArea"]::placeholder,
[class*="-textInput"]::placeholder {
-webkit-text-fill-color: #a8a095 !important;
color: #a8a095 !important;
}
span[class*="__outline"],
span[class*="-outline"] {
background: transparent !important;
background-color: transparent !important;
}

Activity

  1. Myshor commented on Oct 23, 2026

    @Myshor
    Collaborator

    Hello @FaultyJuggler

    The provided URL (ncat.instructure.com) requires institutional Microsoft SSO credentials, which prevents maintainers from directly accessing and verifying the environment.

    Regarding the proposed CSS:

    • Hardcoded hex values (#1e2022, #e8e6e3, #a8a095) cannot be accepted into the codebase as they break dynamic theme adjustments (brightness, contrast, sepia).
    • Custom placeholder color definitions are redundant because Dark Reader already handles placeholder styling globally via opacity: 0.5 !important; in the * section when dynamic variables are used.

    Here is a revised version utilizing Dark Reader dynamic variables:

    instructure.com
    *.instructure.com
    
    CSS
    input,
    textarea,
    select,
    [contenteditable="true"],
    [class*="-textArea"],
    [class*="-textInput"],
    body#tinymce {
        background-color: var(--darkreader-neutral-background) !important;
        color: var(--darkreader-neutral-text) !important;
        caret-color: var(--darkreader-neutral-text) !important;
        -webkit-text-fill-color: var(--darkreader-neutral-text) !important;
    }
    
    span[class*="__outline"],
    span[class*="-outline"] {
        background-color: transparent !important;
    }

    Applying this snippet locally in the Dark Reader Developer Tools and verifying whether the textboxes and placeholders render legibly without contrast issues is the recommended next step. Providing before/after screenshots confirming proper behavior will enable proceeding with merging this fix into the repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions