levineuwirth.org/static/js
Levi Neuwirth 23bc2d0dc1 Frontend tail: keyboard access, idempotence, input edge cases
- gallery.js: math/score focus overlays are keyboard-activatable
  (role=button, tabindex, Enter/Space) and focus return on close lands
  on a focusable trigger (AUDIT §5.7)
- annotations.js: marks are focusable; Enter/Space pins the tooltip
  with focus moved to its Delete button, Escape dismisses — the delete
  affordance is finally reachable without a mouse (§5.7)
- transclude.js: nested transclusions resolve (depth-capped at 3, with
  ancestor-chain cycle rejection rendering the existing error style);
  collapse.js reinit is idempotent via data-collapse-bound (§5.7)
- copy.js excludes the button label from code-less <pre> copies;
  score-reader.js stops rewriting plain loads to ?p=1; search-filters
  treats non-numeric threshold input as inactive instead of a
  match-everything >=0 filter; selection-popup no longer re-summons
  the toolbar while typing capitals in the annotation picker (§5.8)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 11:25:19 -04:00
..
annotations.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
collapse.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
copy.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
gallery.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
katex-bootstrap.js audit: frontend a11y, JS shared utils, CSS variable definitions 2026-04-10 17:41:21 -04:00
lightbox.js Frontend: search races, lightbox a11y, popup edge cases 2026-06-10 09:43:25 -04:00
list-pagination.js Navigation refactor 2026-04-19 14:35:41 -04:00
nav.js Frontend: search races, lightbox a11y, popup edge cases 2026-06-10 09:43:25 -04:00
now.js Add now.js: recompute "Last updated" relative phrase client-side 2026-05-23 12:06:49 -04:00
photography-map.js Spec dilemma 2026-05-01 21:22:01 -04:00
photography-modes.js Spec dilemma 2026-05-01 21:22:01 -04:00
popups.js Frontend: search races, lightbox a11y, popup edge cases 2026-06-10 09:43:25 -04:00
prism.min.js initial deploy! whoop 2026-03-17 21:56:14 -04:00
random.js affiliation, cabal helper script 2026-03-26 08:14:50 -04:00
reading.js initial deploy! whoop 2026-03-17 21:56:14 -04:00
score-reader.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
search-filters.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
search.js Frontend: search races, lightbox a11y, popup edge cases 2026-06-10 09:43:25 -04:00
selection-popup.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
semantic-search.js Frontend: search races, lightbox a11y, popup edge cases 2026-06-10 09:43:25 -04:00
settings.js yum cappuccino yay! 2026-05-03 21:16:58 -04:00
sidenotes.js mobile fixes 2026-04-12 15:29:35 -04:00
theme.js yum cappuccino yay! 2026-05-03 21:16:58 -04:00
toc.js mobile fixes 2026-04-12 15:29:35 -04:00
transclude.js Frontend tail: keyboard access, idempotence, input edge cases 2026-06-10 11:25:19 -04:00
utils.js audit: frontend a11y, JS shared utils, CSS variable definitions 2026-04-10 17:41:21 -04:00
viz.js Fix audit frontend MEDs 2026-06-10 09:21:47 -04:00