also looking at this
LSU's own coaching surface, and what auditing the site turned up
#12
86 files
+3943
-1190
- c086225035 fix(seo): give each page the share card it already ships glennmichael123 review this step
- 67d1b2bec2 chore(data): drop the second copy of the navigation glennmichael123 review this step
- 28a457d127 feat(coaching): register the eight training modules in LSU's own words glennmichael123 review this step
- 7eff05eb43 feat(coaching): read the published brand without trusting it glennmichael123 review this step
- 2f13ba618f feat(coaching): fetch the brand once, briefly, and never fatally glennmichael123 review this step
- 9eb21fc275 feat(coaching): give every training module a page of its own glennmichael123 review this step
- 947a4cf6f4 refactor(coaching): keep one list of the sections HQ will accept glennmichael123 review this step
- 1d05260165 feat(coaching): render the published tiers, and a way out of the frame glennmichael123 review this step
- a1733b3d40 fix(seo): index the storefront, and notice the pages a flat read missed glennmichael123 review this step
- 04c6cc1ffd feat(coaching): show the hub what it is selling and where it runs glennmichael123 review this step
- 1caed8394e fix(coaching): let the browser reach the microphone in production glennmichael123 review this step
- 9311f0370b test(coaching): render the eight module routes, both ways glennmichael123 review this step
- 4d05255a8d fix(seo): stop advertising /faq, which is /contact under another URL glennmichael123 review this step
- abd0fe7d65 fix(nav): link coaching from the footer glennmichael123 review this step
- a7640e9d37 feat(seo): publish who runs this site, and where a nested page sits glennmichael123 review this step
- b906c54b91 refactor(contact): keep one copy of the fifteen answers glennmichael123 review this step
- 01f2cd0c7a chore(data): drop the FAQ copy nothing renders glennmichael123 review this step
- 6ad655a65f chore(assets): stop shipping 2 MB of photographs nothing shows glennmichael123 review this step
- 57fa22fc97 chore(data): drop the second, contradicting copy of the legal pages glennmichael123 review this step
- f5550ed47f fix(coaching): do not frame a panel nobody has published glennmichael123 review this step
- 7fd113ff12 fix(a11y): give the Soul Races list a heading level and a name glennmichael123 review this step
- d7d0cf8641 fix(a11y): let the caller say what level a tier name is glennmichael123 review this step
- b331c5999b test(audit): check the built HTML for what a template cannot catch glennmichael123 review this step
- 238fd26106 test(audit): run the HTML rules in the suite, not only after a build glennmichael123 review this step
- 7092403ed0 docs: describe the coaching surface the site now serves glennmichael123 review this step
- 7c039982d4 fix(lottery): put the entry form where the page says it is glennmichael123 review this step
- ec75b162a3 test(audit): six more rules, each proved to fire glennmichael123 review this step
- 324082ba74 fix(seo): let the 404 page say it is a 404 glennmichael123 review this step
- 9511423ba4 fix(coaching): leave a way back to the hub from every module glennmichael123 review this step
- 5b10494f53 perf(coaching): open the connection to HQ before the page needs it glennmichael123 review this step
- d155a23093 perf(styles): stop shipping the coaching page to the other 24 routes glennmichael123 review this step
- cbbc2bd88a feat(coaching): say what a tier includes, not only how the coach trains glennmichael123 review this step
- 6dd4e3168c perf(styles): take the last page rules off the sheet every route downloads glennmichael123 review this step
- 4b0f5fe74f test(audit): catch an asset the deploy does not carry glennmichael123 review this step
- 668bedd74c fix(coaching): load no remote script on a hub with nothing to show glennmichael123 review this step
- 1dea6650b3 fix(coaching): stop the hub promising a portal it is not showing glennmichael123 review this step
- e5cd877df3 fix(404): write the page in classes this site actually defines glennmichael123 review this step
- 8efd4b1927 fix(lottery): style the two sections that had no rules at all glennmichael123 review this step
- 861c664e45 fix(styles): define the third step of the display scale glennmichael123 review this step
- 579ec7d06f test(audit): catch markup written against a design system that never shipped glennmichael123 review this step
- 00ef024cb8 docs(audit): say what was checked about each allowlisted class glennmichael123 review this step
- 2752784934 perf(build): lift a page's own module bundle out of its HTML glennmichael123 review this step
- 55929df47f docs: describe the bundle step the build now runs glennmichael123 review this step
- 8b499cc011 fix(a11y): keep the new surfaces above the contrast floor glennmichael123 review this step
- c00908d4ac fix(home): drop the second tabindex on the carousel track glennmichael123 review this step
- 6bcdcb22dd feat(a11y): mark which page you are on in the nav and the footer glennmichael123 review this step
- 4d90dcf008 fix(coaching): link the storefront from the hub, and catch the next orphan glennmichael123 review this step
- 824dbe2c85 fix(coaching): stop the hub saying the same thing twice glennmichael123 review this step
- 6e76b8ee2c test(results): hold the race facts to the database they came from glennmichael123 review this step
- abc7281632 docs: record the two features nothing on the site reaches glennmichael123 review this step
- 579f0bb271 fix(test): build the expected canonical from APP_URL, not from a literal glennmichael123 review this step