Accessible Nameの計算:支援技術に伝わるUIの名前
Accessible Nameはボタンやリンクの目的を支援技術に伝える名前です。W3Cの計算規則はroleとマークアップに応じて参照元を決めます。aria-labelledby、aria-label、HTMLのラベルを説明します。
発行・訂正窓口:infostoa · 編集基準
この記事の個別の執筆者・専門査読者の情報は提供されていません。
画面に文字が表示されているだけでは、スクリーンリーダーが操作要素の目的を理解できるとは限りません。Accessible NameはボタンやリンクなどのUI要素を支援技術で識別するための名前です。要素のroleとHTML・ARIAマークアップをもとに計算され、表示文字と同じ場所から得られるとは限りません。
実際のブラウザーや読み上げ結果ではなく概念図です。
1. 名前と説明の役割
Accessible Name and Description Computation仕様は、複数のコンテンツ技術に共通する名前と説明の計算方法を定義しています。名前は要素の目的を表す短いラベルで、説明は追加の文脈を提供します。ボタン名が「検索」で、説明が検索範囲を示すように役割を分けられます。同じ文言を両方に重ねると、支援技術の利用者に情報が繰り返されることがあります。
計算方法はすべての要素で同じではありません。roleによって名前を持てるか、内容から得るか、作成者が属性で与えられるかが異なります。「aria-labelを追加すればどの要素もアクセシブルになる」と考えず、要素のroleと名前付け規則を確認してください。
ここで読んだAccName 1.2は2026年10月12日の作業草案で、勧告ではありません。1.1は2018年12月18日の勧告です。詳細な走査や空の結果のフォールバックを両版で同じと仮定しません。 1.2草案の状態 1.1勧告 名前の目的
2. 参照元:関連付けた文字と作成者属性
HTMLにはフォームコントロールと関連付けたHTML label element、ボタン内の文字、画像のaltなど、言語側の名前付け方法があります。WAI-ARIAのaria-labelledbyは別要素のテキストを参照し、aria-labelは作成者が名前を指定します。実際の計算にはroleと規則が関わるため、属性だけから結果を推測せずアクセシビリティツリーで確認します。
画面上にラベルがある場合、その文字をコントロールに結び付けると視覚利用者と支援技術利用者に同じ手掛かりを示せます。aria-labelledbyは既存の表示テキストを参照するときや、複数のテキストを名前にまとめるときに便利です。アイコンだけのボタンのように表示文字がなければaria-labelを検討できますが、見た目ではなく動作を説明する名前にします。
適用できる aria-labelledby 参照は先に計算します。計算結果が空でない場合に aria-label より優先し、空の結果になった場合はアルゴリズムが次に適用可能な出典である aria-label へ進みます。名前付けを禁止するroleに名前を付けてよいという意味ではありません。参照先自身の aria-labelledby は自動的には連鎖追跡されませんが、適用される走査内のテキスト代替計算には再帰が含まれる場合があります。 ARIA命名属性 APG参照制限 作成者の命名
3. 計算された名前と表示を一致させる
Accessible Nameは画面に見えない属性から得られることがあります。画面には「閉じる」と表示されても古いaria-labelが「メニューを開く」のままなら、視覚と支援技術で操作の説明が異なります。すでに内容テキストがある要素にaria-labelを追加すると、想定外に名前が置き換わることもあります。意図した名前にできる場合は、意味のある表示テキストとHTML本来のラベル付けを優先します。
代替テキストは画像の目的を文脈に合わせて説明します。装飾画像で近くの文言と重複した名前を作らない一方、リンクの唯一の内容が画像ならリンク先の目的を示す代替名が必要です。ファイル名や見た目ではなく、要素が何の操作を担うかを基準にします。 機能画像の説明
隠れた参照元と子内容を区別する
1.2草案は直接参照された走査の根が隠れている場合を別に扱い、通常除外されるテキストも寄与し得ます。見える参照元に隠れた子があれば常に全て含む意味ではありません。視覚的な非表示が全て算法上のhiddenと同じでもありません。 草案の隠れた参照規則
仮の比較では文言を変えず、参照の根と子の隠れた状態を別々に記録できます。原因を分ければ名前の違いを説明しやすくなります。名前に寄与するノードが独立して探索できるとは限りません。この比較は実装試験の結果ではありません。
名前が想定と違うときの切り分け
計算された名前が表示文言と異なるときは、属性を追加する前に四点を確認します。(1)アクセシビリティツリー上の実際のrole、(2)参照したIDが存在し意図した文字を指すか、(3)複数の参照が意図した順序で重複なく並ぶか、(4)利用者が状態を変えた後に名前も更新されるか、です。例えば画面が「閉じる」なのにツリーが「メニューを開く」なら、古いaria-labelやaria-labelledby参照が原因の可能性があります。これは考えられる診断手順であり、すべてのブラウザーで確認した結果ではありません。
計算された名前は、ブラウザーがアクセシビリティAPIを通じて公開する値です。スクリーンリーダーはそこにroleや状態、フォーカスの文脈を加え、音声や点字で表すことがあります。期待と異なるときは、まずツリーで名前を見て、計算の問題か支援技術による表現・移動の問題かを分けます。ツリーの値が正しくても、重要な操作は対象ブラウザーと支援技術の組合せで試し、読み上げ順と重複も確認してください。この記事は特定の組合せを試験した結果を示すものではありません。
4. 実務家の視点:計算結果を確認する
ブラウザーのアクセシビリティツールや支援技術で、主要なボタン、リンク、入力欄、アイコンのみの操作要素の名前を確認します。名前が空でないか、必要な場面で区別できるか、表示ラベルと合うか、実際の操作を説明しているかを点検します。状態によって名前が変化する場合は、遷移後の値も確かめてください。
ARIA属性を追加するだけではアクセシビリティは成立しません。role、キーボード操作、名前計算を合わせます。作成者による名前付けが認められていないroleにaria-labelやaria-labelledbyを無理に付けず、適切なHTML要素を使います。自動検査は重要な操作を支援技術で確認する作業の代わりにはなりません。手動確認ではキーボード操作と読み上げの両方を試します。
ユーザーエージェントが計算してAPIへ公開する名前とスクリーンリーダーの表現は区別します。ツリーの値から全製品の正確な読み上げ、順序、操作は保証できません。 計算と表現 専門的実践案内