fix(a11y): broken support/signin links + WCAG AA contrast in light mode
Build and deploy / deploy (push) Successful in 29s

Caught by Lighthouse on prod:

1. CRITICAL: support-link.mdx and signing-in.mdx used the MDX expression
   `{URLS.x}` inside Markdown-link parens, which MDX doesn't evaluate —
   the resulting href was URL-encoded '%7BURLS.whmcsTicket%7D' on every
   page with a Support partial. Replaced with HTML anchors so the
   expression evaluates.
2. Light-mode --sl-color-text-accent was the brand teal (#00d4aa) on a
   cream background = 1.73:1 contrast. Introduced --anhh-accent-on-light
   (#047857) at ~6:1 for inline accent text/links. Brand graphics keep
   the original teal.
3. Bumped light-mode --anhh-text-secondary and --anhh-text-muted to
   #334155 / #475569 so muted UI text clears AA.
4. Hub brand link aria-label now includes 'Knowledge Base' so the
   accessible name covers the visible text.
This commit is contained in:
2026-05-17 21:04:10 -07:00
parent 6a0a461c26
commit 8c965f76d2
4 changed files with 14 additions and 6 deletions
+1 -1
View File
@@ -2,5 +2,5 @@ import { URLS } from './urls.mdx';
You can sign in to WHP two ways:
1. **Through your client portal** (recommended). Go to [{URLS.whmcs}]({URLS.whmcs}), sign in to your account, open **Services → My Services**, click your hosting plan, then click **Login to WHP**. No extra password to remember.
1. **Through your client portal** (recommended). Go to <a href={URLS.whmcs}>{URLS.whmcs}</a>, sign in to your account, open **Services → My Services**, click your hosting plan, then click **Login to WHP**. No extra password to remember.
2. **Directly with your WHP credentials.** Visit `https://<your-server-hostname>:8443` and sign in with the WHP username and password you set up. Your server hostname is in your welcome email and on the service page in the client portal.
+1 -1
View File
@@ -1,5 +1,5 @@
import { URLS } from './urls.mdx';
<div class="anhh-accent-callout">
**Still stuck?** Open a [support ticket]({URLS.whmcsTicket}) and our team will help.
**Still stuck?** Open a <a href={URLS.whmcsTicket}>support ticket</a> and our team will help.
</div>
+1 -1
View File
@@ -195,7 +195,7 @@ const visibleProducts: Product[] = Array.from(byProduct.entries())
</head>
<body>
<header>
<a href="/" class="brand" aria-label="AnHonestHost">
<a href="/" class="brand" aria-label="AnHonestHost Knowledge Base">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 32" fill="none" height="28" role="img">
<path d="M12 4L3 16L12 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24 4L33 16L24 28" stroke="#00d4aa" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
+11 -3
View File
@@ -51,18 +51,26 @@
--anhh-bg-elevated: #ffffff;
--anhh-bg-surface: #e2e8f0;
--anhh-text-primary: #0f172a;
--anhh-text-secondary: #475569;
--anhh-text-muted: #94a3b8;
--anhh-text-secondary: #334155; /* bumped from #475569 for AA contrast on muted UI text */
--anhh-text-muted: #475569; /* bumped from #94a3b8 — same reason */
--anhh-border-color: #cbd5e1;
--anhh-accent-dim: rgba(0, 212, 170, 0.08);
--anhh-accent-border: rgba(0, 212, 170, 0.3);
/*
* Darker accent for light mode so inline accent-coloured text and links
* (Starlight binds --sl-color-text-accent) pass WCAG AA against the bg.
* The brand teal #00d4aa is only ~1.7:1 on the cream background; #047857
* is ~6:1, which clears AA.
*/
--anhh-accent-on-light: #047857;
--sl-color-bg: var(--anhh-bg);
--sl-color-bg-nav: var(--anhh-bg-elevated);
--sl-color-bg-sidebar: var(--anhh-bg-elevated);
--sl-color-bg-inline-code: var(--anhh-bg-surface);
--sl-color-text: var(--anhh-text-primary);
--sl-color-text-accent: var(--anhh-accent);
--sl-color-text-accent: var(--anhh-accent-on-light);
--sl-color-gray-1: var(--anhh-text-primary);
--sl-color-gray-2: var(--anhh-text-secondary);
--sl-color-gray-3: var(--anhh-text-muted);