File: stage-4-17-standards-and-validation.md

Standards and Validation: ClearCompare dashboard, first draft

Checked by: Jennifer (Stage 4) · 21-Oct-26 File checked: 02 - Deliverables/2026.10.21 - ClearCompare - 04 Dashboard.html (Experimental A with the Stage 4 fixes) Verdict: passes 30 of 31 checks. Adam approved changes 1 to 3 on 21-Oct-26, and the clawback rate stays "On track". One phone layout item remains (below).

Fixed already (clear-cut)

FixBeforeAfterStandard
Category coloursLead-mix chart: 4 product areas in shades of blueCharcoal and teal category colours (health teal, energy orange, home loans blue, life pink)Process: any chart with 3 or more categories uses the colourblind-safe palette
Heading orderRings card title was an h3 straight after the h1Now an h2, same size on screenWeb Build Standards: headings in order, no level skipped
Stage label"Stage 3 · Experimental A: progress rings""Stage 4 · First draft for stakeholder review"Shared outputs show what the audience needs
Spec versionspec.json said Business Requirements v1.0v1.1, matching the document and the footerValidation checklist, item 5
First screen (approved)Rings card 527px; tiles end at 930px on 1280 × 800; phone tiles start at 1,062pxRings card 397px, internal caption removed; tiles end at 799px; phone tiles start at 517pxDashboard Patterns: first screen; 30-second test
Touch (approved)18 chart data points under 44px0 under 44px on touch screensUX Standards: 44px touch targets
Energy colour (approved)Energy blue in one chart, orange in anotherOrange in bothOne colour per product area
↑ Back to top

Check that still fails

AreaCheckEvidenceFix
LayoutPhone shows the headline and two tiles before any scrollThe headline and first tile show; the second tile starts below the 812px screen. The header takes about 230pxA shorter phone header, if Adam wants it
↑ Back to top

Checks that pass

AreaCheckEvidence
HTMLDoctype, lang, charset, viewport, titleen-AU, viewport-fit=cover, title "ClearCompare KPI Dashboard"
HTMLOne h1, unique ids, no unnamed buttons or links1 h1, 0 duplicate ids, 0 unnamed controls
HTMLCollapsibles use details and summaryAll 5 detail sections and every "See data"
AccessibilityText contrast, dark modeMain text 14.56, muted 6.53, accent 6.20, status colours 6.20 to 9.13 (all above 4.5)
AccessibilityText contrast, light modeMain text 17.52, muted 5.83, accent 5.65, status 5.02 to 6.47, grey 4.61 (all above 4.5)
AccessibilityCharts have text versionsEvery chart has an aria-label and a "See data" table
AccessibilityStatus never by colour aloneEach status chip has an icon and a word (✓ On track, ! Behind, × Off track)
AccessibilityReduced motionAnimations off under prefers-reduced-motion
TouchEvery control on a touch phone0 under 44px (mode toggle, section headers and chart rows)
LayoutFirst screen at 1280 × 800Headline, rings and all 5 tiles; tiles end at 799px
VisualOne colour per product areaEnergy orange in both charts
LayoutNo sideways scroll0 at 375 × 812, 740 × 360, 568 × 320, 768 and 1280
JavaScriptConsole errors0 on load, after opening every section and after switching modes
JavaScriptStorage wrapped, no popupslocalStorage in try/catch; no alert or confirm
SecurityNo secrets, external links0 keys or tokens; no external links
DataSample data labelled"Sample data" tag in the header

Not tested: keyboard-only pass and 200% zoom (not run this round); Core Web Vitals (not measured: local file). Screenshots were taken in the Browser pane but not saved as files.

↑ Back to top

Validation checklist

CheckResultEvidence
Every Must Have KPI is on the dashboard, calculated as documentedPassAll 8 KPIs and sub-KPIs mapped in spec.json; every number comes from kpi_results.json
Every business objective shows its progressPassRevenue and conversion objectives: tiles with actual, target, gap and pace. "Explain changes within a day": the revenue bridge
Every action owner sees their KPI's status at a glancePassThree action cards, each with the current value, pace needed and trend
The 30-second testPassAt 1280 × 800 the first screen shows the headline, the rings and all 5 tiles (actual, target, gap, pace, status). On a phone, the headline and first tile
Business Requirements version in the footer matches the latestPassv1.1 in the header, footer and spec.json
↑ Back to top