Accessibility: hover-only tooltips, misused tablist roles, and a layout table
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 58/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 静か
- 技術スタック
- typescript
調査の方向性
まず、影響を受ける Svelte コンポーネントを読みます: ArchChat.svelte、ArchTracePanel.svelte、GeoScene.svelte、GeometryLab.svelte、FinetunePanel、TrainPanel、AttentionView、Info タブ。変更を加える前に、既存のポインター、フォーカス、選択の動作を確認します。ツールチップと球体ラベルにキーボードとタッチで到達でき、コントロールが assistive technology に有効な状態を公開し、notation glossary が正しい description-list semantics を持つことが完了の条件です。
索引モデルが issue の本文から書いたものです。
説明
Collected by an adversarial accessibility pass during feature 005. All pre-existing; none
blocks the documentation work, but each makes real information unreachable for some users.
1. Hover-only tooltips (highest impact)
Token probabilities, sphere labels and residual-norm bars are all onmousemove /
onmouseleave on role="note" elements with no tabindex:
ArchChat.svelte(reply tokens — the per-token probability and its top-5 alternatives)ArchTracePanel.svelte(token chips, norm bars)GeoScene.svelte(sphere dot labels,pointermove)
Keyboard users cannot reach them; touch users effectively cannot either. For the reply
tokens the tooltip is the only place the alternatives appear.
Fix: tabindex="0" plus onfocus/onblur mirroring showTip/hideTip; show the sphere
label on pointerdown as well as pointermove.
2. role="tablist" on things that are not tabs
GeometryLab.svelte field/layer segmented pickers carry role="tablist" but their children
have no role="tab", no aria-selected, and there is no tabpanel. A screen reader
announces a tab list containing nothing it recognises, and the active field/layer is never
conveyed. FinetunePanel/TrainPanel/AttentionView set role="tab"/aria-selected but
still have no tabpanel, aria-controls, or arrow-key handling.
Fix: role="radiogroup" + role="radio" aria-checked, or drop the roles and use
aria-pressed on the buttons (they already behave as toggles).
3. The Info tab's notation table is a layout table
Four columns alternating symbol/definition with no <thead>/<th>. It is a glossary, so
assistive tech reads two unrelated pairs as one row.
Fix: a <dl> with display: grid; grid-template-columns: auto 1fr auto 1fr — same visuals,
correct semantics, and it collapses to two columns on a phone for free.
Already fixed in feature 005
Equation blocks and tables are now keyboard-scrollable (tabindex="0" on the scroll
container, white-space: nowrap so overflow-x actually engages); <table display:block>
no longer strips table semantics; Explain titles are exposed as headings for heading
navigation; Explain summaries wrap on narrow screens.
- 主要言語
- TypeScript
- スター
- 1
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ContextLab/llm-geometry のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 70/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
getting startedオープン
難易度 5/5 1週間以上 初心者へのやさしさ 18/100
ContextLab/llm-geometry#1 · コメント 9 件 ·
ContextLab/llm-geometry の issue をすべて見る
似ている issue
-
[Android] Nested transforms are composed in reverse order対応中かも @Danyalo が今日担当しました。 オープンRepro provided
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
software-mansion/react-native-svg#3090 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
radix-ui/primitives#4228 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
rocketride-org/rocketride-server#2705 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
archon-ready archon-size-s archon-type-bug area: web
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
coleam00/Archon#4707 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
HarperFast/grafana-datasource#177 ·