マウスから手を離してTabを押しても、キーボードフォーカスが盤面に入ったか分からないことがあります。さらに何度か押せば、縦横の線の中から抜けられなくなるのではと不安になります。五目並べのキーボード操作は、入る、確認する、着手を確定する、手番の変化を経る、そして退出するという一連の流れを支える必要があります。これは一般的な指針を応用した設計案であり、WUZIQIでの実装済み機能を示すものでも、適合性監査に当たるものでもありません。
Tabで盤面に入り、Tabで盤面を離れます
この提案では、盤面をひとまとまりの空間領域として扱います。直前の項目からTabで入り、盤上の明確な位置にフォーカスを置きます。領域内の移動は方向キーが担い、もう一度Tabを押すと盤面の次の操作項目へ進み、Shift+Tabでは前方へ抜けます。この考え方はW3C APGのグリッドパターンを参考にしており、ページ内の順次ナビゲーションを短く予測しやすいものにします。
WCAGのキーボードに関する解説が重視するのは、機能をキーボードで実行できるかどうかであり、五目並べで使うキーの組み合わせを指定しているわけではありません。そのため、Tabで出入りし、方向キーで移動する方法はAPGに着想を得た設計上の選択であり、WCAGが特定のキー操作を義務づけているかのように記すべきではありません。W3C文書は一般的なウェブの指針であり、五目並べの規格でもありません。
入口も分かりやすくする必要があります。盤面の近くに「方向キーで確認、Enterまたはスペースで確定、Tabで退出」と短く案内できます。この案内は操作前に読めて、支援技術からも取得できるようにします。再び盤面へ入ったときは、直前に確認していた位置へ戻せます。対局がリセットされている場合は、安定していて理由を説明できる開始位置を選びます。
方向キーは確認位置だけを動かし、着手しません
上、下、左、右の各キーでは、盤面の空間的な関係に沿って交点を1つずつ移動します。キーを押した結果として変わるのは現在の確認位置だけで、盤面の状態はそのままです。確定操作なしにフォーカスが石へ変わることは決してあってはならず、方向キーを長押しして連続着手されることも避けなければなりません。
この案では、Enterまたはスペースで現在位置への着手を確定します。どちらも設計上の選択なので、案内に明記する必要があります。確定時には、まず現在の手番と選択中のルールを確認し、着手できるかどうかを判断します。石のない交点でも、終局後、自分の手番ではない場合、選択したルールで不正と判定される場合などには利用できません。
着手に成功したら、その位置と局面の変化を伝え、フォーカスの移動先も明確に保ちます。フォーカスを置いたばかりの石の位置に残し、次の方向キー入力を待つ方法があります。相手の着手や手番の交代によって、フォーカスが突然ほかの場所へ移ってはいけません。確定に失敗した場合は元の位置に残し、具体的な理由を伝えます。
見えるフォーカスと直前の一手を明確に分けます
盤面には、混同しやすい視覚情報が少なくとも2つあります。今キーボード操作の対象になっている位置と、直前に石が置かれた位置です。WCAGのフォーカス可視化に関する解説では、キーボード操作者がフォーカス位置を認識できることを求めています。盤面に応用するなら、フォーカスには常に見える中空の輪郭を使い、直前の一手には別の形や位置マーカーを使うのが適切です。似た色の差だけに頼ってはいけません。
フォーカスと直前の一手が同じ交点に重なっても、両方の情報が同時に伝わる必要があります。たとえば、フォーカスリングを石の外側に置き、直前の一手を示す印は石の内側または脇に残せば、互いを隠しません。補助的な状態説明では、座標、石の有無、直前の一手かどうかも読み上げられます。視覚表現だけにすべての意味を担わせずに済みます。
フォーカス表示は、実際に移動するまで残し続け、一瞬だけ表示して消してはいけません。マウスポインターのホバー、直近の着手アニメーション、キーボードフォーカスは、それぞれ表示時間も分けます。ホバーはポインターが離れれば消え、アニメーションは終了しても、フォーカスは表示されたままです。局面情報へ一時的に目を移しても、戻ったときに現在位置を見つけられます。
フォーカスは確認を示し、着手には確定が必要です。
石のある交点もそのまま確認できます
方向キーで石のある交点を通るときも、通常どおりフォーカスを置きます。その位置を確認し、行と列、石の所属、直前の一手を示す印の有無を読み取れるようにします。そこでEnterまたはスペースを押しても、石は追加されません。「この位置には石があります」と簡潔に伝え、フォーカスは動かさず、隣接する位置を続けて確認できるようにします。
石のある交点を飛ばすと、盤面の空間的な尺度が崩れます。右キーを1回押したとき、1つだけ進む場合と石の並び全体を飛び越す場合があると、キーを押した回数から位置を把握しにくくなります。すべての交点へ移動できれば、検討時にも連なり、隙間、盤端を1点ずつ確認できます。着手の許可だけを、現在のルールに適合する位置へ限定します。
盤端では止まり、反対側へ回り込みません
フォーカスが最も右にあるとき、右方向キーをもう一度押しても同じ位置に残します。ほかの3辺でも同様です。APGのデータグリッドにおける方向ナビゲーションも、このような端での動作を採用しています。五目並べの盤面には固定された2次元の方位があります。右端から次の行の左端へ飛ぶと、キーボード操作の距離と方向が突然変わり、空間の記憶が途切れてしまいます。
止まることは、フィードバックがなくなることではありません。フォーカスの輪郭は表示を続け、位置の説明も変えません。追加の案内が必要なら、最初に盤端へ達したときだけ控えめな状態情報を伝え、キーを繰り返し押すたびに読み上げを妨げないようにします。このとき方向キーは引き続き盤面の移動に使われているため、ページをスクロールさせるべきではありません。
一局の全工程でキーボード設計を検証します
「一手を置けるか」だけのテストでは、まったく足りません。盤面の外から始め、Tabで入り、方向キーで確認し、不正な位置へのフィードバック、正当な着手、相手の行動、手番の交代を経て、終局まで進める必要があります。状態が変わるたびに、フォーカスが見えているか、位置が適切か、新しい案内やパネルに方向キーを奪われていないかを確かめます。
終局後も、次の移動先を明確にする必要があります。結果情報が表示されたら、キーボードで読んで閉じられるようにします。閉じた後は、その流れを開始した適切な位置へフォーカスを戻します。新しい対局を始めるときは以前の石の状態を消去し、フォーカスの開始位置も改めて示します。盤面を離れる場合、Tabで後続の操作項目へ進め、Shift+Tabでは直前の項目へ戻れるようにします。
読者や開発者は、今すぐキーボードだけで試せます。まずポインターを盤面から外し、Tabだけで盤面に入ります。4つの方向キーで各辺まで進み、行の折り返しや反対側への回り込みがないことを確かめます。石のある交点を通って状態を読み取り、空いている交点でEnterまたはスペースを押し、正当な場合と不正な場合の結果をそれぞれ確認します。手番が変わるのを待ち、終局と新しい対局の流れを完了したら、最後にTabとShift+Tabで両方向から盤面を離れます。確定していないのに着手されたり、フォーカスが消えたり、退出できなかったりした場合は、そのときのキー操作と位置を記録します。