feat(a11y): accessible GDPR cookie-consent banner (#81) #162

Merged
jmiller merged 2 commits from feature/cookie-consent into dev 2026-07-16 18:38:33 +00:00
Owner

Accessible, opt-in cookie-consent banner that blocks GA/GTM via Consent Mode until the visitor accepts. role=dialog + focus trap + Escape-to-decline + aria-live + localStorage. Enable via template settings (Google tab) with an optional privacy-policy URL. Closes #81.

Accessible, opt-in cookie-consent banner that blocks GA/GTM via Consent Mode until the visitor accepts. role=dialog + focus trap + Escape-to-decline + aria-live + localStorage. Enable via template settings (Google tab) with an optional privacy-policy URL. Closes #81.
jmiller added 2 commits 2026-07-16 18:23:57 +00:00
feat(a11y): accessible GDPR cookie-consent banner (#81)
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
42b47c6c8a
Adds an opt-in cookie-consent banner that gates Google Analytics / Tag Manager
via Consent Mode until the visitor accepts.

- index.php: emit a Consent Mode default (analytics_storage denied until consent,
  replaying any stored choice) BEFORE GTM/GA load; render an accessible banner
  (role=dialog, aria-labelledby/describedby, aria-live status) when enabled.
- template.js: initCookieConsent() — show on first visit, focus trap, Escape =
  decline, Accept/Reject map to gtag consent update + localStorage; any
  [data-cookie-open] control reopens it.
- template.css: themed, responsive, reduced-motion-aware banner styles.
- templateDetails.xml: Cookie Consent enable toggle + privacy-policy URL (Google tab).
- language: en-US/en-GB strings.

Closes #81.
chore(version): auto-bump patch 02.29.04-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
9089ca45af
jmiller merged commit 0d3aa9d8ad into dev 2026-07-16 18:38:33 +00:00
jmiller deleted branch feature/cookie-consent 2026-07-16 18:38:34 +00:00
Sign in to join this conversation.
No Reviewers
No labels
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoOnyx#162