321 Commits
Author SHA1 Message Date
Farhan AsgharandGitHub a9039df6de a11y(shared): make subscribe modal a real dialog for keyboard and screen-reader users (#1948)
The subscribe modal (shared across the book, site, labs, kits, and
mlsysim subsites) was a plain div overlay:

- No role="dialog", aria-modal, or accessible name, so screen readers
  never announced it as a dialog and could wander into the page
  behind the overlay.
- No focus trap: Tab walked out of the modal into the visually hidden
  background page.
- Focus was never returned to the triggering element on close, dropping
  keyboard users at the top of the document.
- Open/close animations played regardless of prefers-reduced-motion.

Changes to the canonical shared/scripts/subscribe-modal.js:

- role="dialog" aria-modal="true" aria-labelledby on the container,
  with an id on the existing title.
- Tab/Shift+Tab now cycle within the modal's visible, enabled controls
  (computed per keypress, so the trap also works on the post-submit
  success view).
- The opener element is saved on openModal() and refocused on close.
- Animations are disabled under prefers-reduced-motion: reduce.

Mirrors regenerated with shared/scripts/sync-mirrors.sh (CI drift
check). Escape-to-close and overlay-click behavior unchanged.
2026-07-15 11:47:26 +02:00
Vijay Janapa Reddi c07b37eca6 fix(site): open subscribe modal from navbar CTA 2026-06-24 11:55:00 -04:00
Vijay Janapa Reddi b933251ac9 docs: backfill missed contributor credits 2026-06-24 07:52:19 -04:00
Vijay Janapa Reddi d5f3a03397 fix: harden release smoke and labs routes 2026-06-22 18:39:35 -04:00
Vijay Janapa Reddi 650f9cf96b Record post-merge lab verification 2026-06-13 23:32:13 -04:00
Vijay Janapa Reddi 9cec018500 Expand track-aware lab concept modules 2026-06-13 23:22:03 -04:00
Vijay Janapa Reddi 2d0ca7337f Add lab part storyline depth blueprint 2026-06-13 10:46:54 -04:00
Vijay Janapa Reddi 2b5a45688a Record lab depth audit plan 2026-06-13 10:12:16 -04:00
Vijay Janapa Reddi 5b698b5de0 Merge branch 'dev' into codex/labs
# Conflicts:
#	mlsysim/mlsysim/engine/solvers/compression.py
#	mlsysim/tests/test_hardware.py
2026-06-13 10:04:50 -04:00
Vijay Janapa Reddi ad67b76166 Scope lab control wrapper styling 2026-06-06 14:36:18 -04:00
Vijay Janapa Reddi ccbb3a3390 Make shared Volume II labs progressive 2026-06-06 14:19:57 -04:00
Vijay Janapa Reddi acb9593ebb Make Lab 00 orientation-first 2026-06-06 12:00:45 -04:00
Vijay Janapa Reddi d335eb4dc5 Harden Marimo smoke launcher 2026-06-06 11:20:32 -04:00
Vijay Janapa Reddi 6cc919c437 Teach lab smoke to click Marimo controls 2026-06-05 07:40:30 -04:00
Vijay Janapa Reddi 3671097cde Polish Lab 00 feedback flow 2026-06-05 07:38:13 -04:00
Vijay Janapa Reddi fe519d2e31 Center lab action and report panels 2026-06-05 06:53:10 -04:00
Vijay Janapa Reddi 90ed547d81 Polish intro lab progression 2026-06-04 22:34:10 -04:00
Vijay Janapa Reddi a5eacec42e Record full lab browser pilot audit 2026-06-04 20:20:34 -04:00
Vijay Janapa Reddi 0a9607cfd7 Add reusable lab workflow scaffolding 2026-06-04 20:09:03 -04:00
Vijay Janapa Reddi c408e31233 Harden V2-11 smoke depth check 2026-06-04 19:37:18 -04:00
Vijay Janapa Reddi 6cabbc98fd Document lab track coherence audit 2026-06-04 19:12:44 -04:00
Vijay Janapa Reddi be9cd339da Thread track arcs through lab pages 2026-06-04 19:06:40 -04:00
Vijay Janapa Reddi 765edf9c75 Add lab track arc registry 2026-06-04 19:01:28 -04:00
Vijay Janapa Reddi c1e1c4f853 Merge branch 'dev' into codex/labs
# Conflicts:
#	mlsysim/tests/test_hardware.py
2026-06-04 16:11:57 -04:00
Vijay Janapa Reddi 984afc2aa3 Harden Lab 10 learner feedback loop 2026-06-04 12:27:12 -04:00
Vijay Janapa Reddi 43b97e4042 Polish lab track-first visual flow 2026-06-04 11:52:07 -04:00
Vijay Janapa Reddi 6db3e1f33a Add deep lab interaction smoke audit 2026-06-04 09:58:25 -04:00
Vijay Janapa Reddi 2435443dd3 Polish lab shell UI and report contracts 2026-06-04 08:11:29 -04:00
Vijay Janapa Reddi e472ffe54c Execute first lab feedback pass 2026-06-03 22:22:49 -04:00
Vijay Janapa Reddi d7b468b797 Add lab user activity feedback loop 2026-06-03 22:05:52 -04:00
Vijay Janapa Reddi eb0f5ccc97 Add overnight lab render feedback audit 2026-06-03 21:28:56 -04:00
Vijay Janapa Reddi 4423e4e861 Polish shared lab preview rendering 2026-06-03 20:48:08 -04:00
Vijay Janapa Reddi 1bdde2f770 Assert all labs use pilot variants 2026-06-03 20:24:51 -04:00
Vijay Janapa Reddi 6d6bc086f2 Deepen remaining Volume II system design labs 2026-06-03 20:23:41 -04:00
Vijay Janapa Reddi 943a398256 Deepen V1-09 selection migration 2026-06-03 19:58:54 -04:00
Vijay Janapa Reddi f86070cf46 Deepen V1-08 training migration 2026-06-03 19:50:45 -04:00
Vijay Janapa Reddi 68d8564b68 Deepen V1-07 framework migration 2026-06-03 19:41:58 -04:00
Vijay Janapa Reddi de8ffa9ab5 Deepen V1-06 architecture migration 2026-06-03 19:33:36 -04:00
Vijay Janapa Reddi 50db9a31be Deepen V1-05 activation tax migration 2026-06-03 19:22:23 -04:00
Vijay Janapa Reddi c571233f65 Deepen V1-04 data gravity migration 2026-06-03 19:15:07 -04:00
Vijay Janapa Reddi 7a03279665 Deepen V1-03 workflow migration 2026-06-03 19:06:50 -04:00
Vijay Janapa Reddi 535fda22c9 Deepen V1-02 deployment physics migration 2026-06-03 18:59:36 -04:00
Vijay Janapa Reddi 082d1c3967 Deepen V1-01 triad migration 2026-06-03 18:47:33 -04:00
Vijay Janapa Reddi 6dd66a71d1 Tighten V1-00 track selection contract 2026-06-03 18:40:19 -04:00
Vijay Janapa Reddi 52c85c39eb Deepen V1-16 capstone migration 2026-06-03 18:35:39 -04:00
Vijay Janapa Reddi 7f1dee3e6d Deepen V1-15 responsibility migration 2026-06-03 18:26:44 -04:00
Vijay Janapa Reddi ccdd3d7b3f Deepen V2-06 collective track migration 2026-06-03 18:13:38 -04:00
Vijay Janapa Reddi 331f124caf Deepen V1-14 operations drift migration 2026-06-03 18:08:15 -04:00
Vijay Janapa Reddi 50be6e544f Deepen V1-13 serving tail migration 2026-06-03 17:58:51 -04:00
Vijay Janapa Reddi 81e19905b6 Deepen V1-12 benchmarking track migration 2026-06-03 17:43:15 -04:00