Fix white native form fields on classic edit screens (v2.7.1)

Native form fields (title inputs, textareas, selects) on screens that
don't use the block editor — most visibly Edit Media's title field —
were showing stark white, breaking the dark theme. WP core styles some
fields via a 2-ID selector (#titlediv #title { background: #fff }),
which beats native-dark.css's existing form-field rule regardless of
class count, same specificity trap as an earlier block-editor
background bug. Added !important to the whole form-field rule block —
safe everywhere, no legitimate case for a native admin field to stay
white.

Verified this one rule fixes Edit Media, Edit Post (classic fields),
and Comment edit simultaneously; Add User was already clean. The
WYSIWYG editor body staying white is a separate, deliberate decision
(matches the block editor's own canvas) and wasn't touched.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
nixpanel
2026-07-05 07:12:38 -05:00
co-authored by Claude Sonnet 5
parent 15d6060ae3
commit fdd252cfe2
5 changed files with 48 additions and 7 deletions
+15
View File
@@ -5,6 +5,21 @@ version bump. Starts at 2.1.0 — earlier history (the theming rebuild,
window chrome/taskbar, Site Editor support, etc.) lives in `git log` and
`PROJECT_STATUS.md`, not reconstructed here.
## [2.7.1] - 2026-07-05
### Fixed
- Native form fields (text inputs, textareas, selects) on several
classic/non-block-editor screens — most visibly the title field on the
Edit Media screen, but the same fix applies wherever it occurred — were
showing stark white, breaking the dark theme. Root cause: some native
WP screens style specific fields via a 2-ID selector (e.g. core's
`#titlediv #title { background: #fff }`), which beats our existing
rule's single `#wpbody-content` id no matter how many classes are
stacked on it — the exact same CSS-specificity trap as an earlier
block-editor background bug. Added `!important` to the form-field rule
block, since there's no legitimate case where a native admin form field
should stay white.
## [2.7.0] - 2026-07-05
### Added
+19 -1
View File
@@ -1,6 +1,6 @@
# Aurora Admin v2 — Project Status
_Last updated: 2026-07-05 (latest session — new File Manager sub-app; found a license-bypass gap affecting several paid REST controllers)_
_Last updated: 2026-07-05 (latest session — fixed white native form fields on classic edit screens, e.g. Edit Media's title field)_
## What this project is
@@ -766,6 +766,24 @@ replacement — there's no native WP file browser to redirect from).
## Key bugs fixed (root causes, in case they resurface)
- **White native form fields on classic (non-block-editor) screens**: user
reported "a lot of endpoints still linking back to the original
WordPress dashboard [look]" — investigation landed on the Edit Media
screen (attachments don't use the block editor, so they hit the older
meta-box-based edit template) showing a stark white title field and
File URL input. Root cause: WP core styles some specific fields via a
2-ID selector (`#titlediv #title { background: #fff }`), which beats
`native-dark.css`'s existing form-field rule (one `#wpbody-content` id
+ classes) regardless of class count — the same CSS-specificity trap as
the earlier block-editor-page background bug (class count doesn't
matter once the other selector has more IDs). Fixed by adding
`!important` to the whole form-field rule block (text inputs/textareas/
selects) — safe everywhere, since there's no legitimate case where a
native admin form field should stay white. Verified this one rule fixed
Edit Media, Edit Post (classic fields), and Comment edit simultaneously;
Add User was already clean. The WYSIWYG editor body (TinyMCE) staying
white is a **separate, deliberate** decision (same as the block editor's
own canvas) — not a bug, don't "fix" it.
- **Admin Notices invisible on the Dashboard**: `admin_notices` prints
inside `#wpbody`, which `DashboardTakeover::hide_native()` hides
entirely (to hide the *native* dashboard, not ours) — collateral damage
+11 -3
View File
@@ -104,6 +104,14 @@ html.aurora-dark.aurora-ready #wpbody-content .row-actions {
}
/* Form fields ----------------------------------------------------------- */
/* !important: some native screens style specific fields via a 2-ID
selector (e.g. core's `#titlediv #title { background: #fff }` on the
classic/attachment edit screen's title field) — that beats this rule's
single #wpbody-content id no matter how many classes we stack on it,
same specificity trap as the earlier block-editor-page background bug.
There's no legitimate case where a native admin form field should stay
white, so forcing it here is safe across every screen, not just the
one that surfaced it. */
html.aurora-dark.aurora-ready #wpbody-content input[type='text'],
html.aurora-dark.aurora-ready #wpbody-content input[type='search'],
html.aurora-dark.aurora-ready #wpbody-content input[type='email'],
@@ -114,9 +122,9 @@ html.aurora-dark.aurora-ready #wpbody-content input[type='tel'],
html.aurora-dark.aurora-ready #wpbody-content input[type='date'],
html.aurora-dark.aurora-ready #wpbody-content textarea,
html.aurora-dark.aurora-ready #wpbody-content select {
background: var(--aurora-bg-subtle);
border-color: var(--aurora-border);
color: var(--aurora-text);
background: var(--aurora-bg-subtle) !important;
border-color: var(--aurora-border) !important;
color: var(--aurora-text) !important;
}
html.aurora-dark.aurora-ready #wpbody-content input::placeholder,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "aurora-admin-app",
"version": "2.7.0",
"version": "2.7.1",
"private": true,
"type": "module",
"scripts": {
+2 -2
View File
@@ -3,7 +3,7 @@
* Plugin Name: Aurora Admin
* Plugin URI: https://aurora.co
* Description: A modern, fast WordPress admin interface.
* Version: 2.7.0
* Version: 2.7.1
* Author: Aurora
* Text Domain: aurora-admin
* Domain Path: /languages/
@@ -14,7 +14,7 @@
defined("ABSPATH") || exit();
define("AURORA_ADMIN_VERSION", "2.7.0");
define("AURORA_ADMIN_VERSION", "2.7.1");
define("AURORA_ADMIN_PATH", plugin_dir_path(__FILE__));
define("AURORA_ADMIN_URL", plugins_url("aurora-admin/"));