44px touch-target floor, HCM-safe focus, 5-line textareas, styles at the bottom of <head>
- Accessibility: every text input, select, textarea and button inside a Core Form now has a min-height of 44 CSS px — the WCAG 2.5.5 AAA touch-target size. Applied in both forms.css and form-theme.css so the floor holds whether you load just the skeleton, just the theme, or both.
- Accessibility: the keyboard-focus indicator is now Windows High Contrast Mode-safe. The themed :focus-visible state pairs the coloured box-shadow with a transparent 2px outline — HCM strips box-shadow but forces the transparent outline to the system focus colour, so keyboard users on HCM still see a ring. Previously the ring vanished entirely in HCM.
- Accessibility: forms.css now ships a tiny baseline (44px target, currentColor focus outline, prefers-reduced-motion transition kill-switch) so an author who disables the form theme still gets an accessible-by-default form instead of a bare browser stylesheet.
- UX: textareas are 5 lines tall by default instead of the browser's stingy 2-line default. Uses lh (line-height) units in both stylesheets with a 140px px fallback for older browsers, so the height tracks the computed line-height rather than being pinned to a px value.
- Performance: form stylesheets and the poll stylesheet now enqueue at wp_enqueue_scripts priority 99 instead of 20, so they print at the bottom of <head> — after the host theme's styles. No more !important, no specificity arms race, clean cascade override.
- Performance: poll-frontend.css used to land in the footer (it was enqueued during the_content, after wp_head printed). PollFrontend now pre-scans for core-forms/poll blocks and [cf_poll] shortcodes at wp_enqueue_scripts priority 99 and pre-enqueues the stylesheet, so it lands in <head> on poll pages and is omitted everywhere else.