1. 開発者向けのウェブ技術
  2. Web API
  3. Element
  4. ariaDetailsElements

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Element: ariaDetailsElements プロパティ

Baseline 2025
最近利用可能

April 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。

ariaDetailsElementsElement インターフェイスのプロパティであり、適用対象の要素に対してアクセシブルな詳細情報を提供する要素(単数または複数)を含む配列です。 アクセシブル詳細情報は、アクセシブル説明(ariaDescribedByElements を参照)と類似していますが、より詳しい情報を提供します。

aria-details のトピックには、この属性とプロパティの使用方法に関する追加情報があります。

HTMLElement のサブクラスの配列です。 これらの要素の内部テキストは、空白で連結することで、アクセシブル詳細情報になります。

読み取り時には、返される配列は静的で読み取り専用です。 書き込み時には、代入された配列はコピーされます。その後配列に変更を加えても、プロパティの値には影響しません。

解説

このプロパティは、アクセシブル詳細情報を設定するための aria-details 属性の柔軟な代替手段です。 aria-details とは異なり、このプロパティに割り当てる要素は id 属性を持つ必要がありません。

このプロパティは、定義されている場合に要素の aria-details 属性を反映しますが、有効なスコープ内要素と一致する参照先の id 値に対してのみ反映されます。 このプロパティを設定すると、対応する属性がクリアされます。 反映される要素への参照とスコープに関するより詳細な情報については、「属性の反映」ガイドの要素の参照の反映を参照してください。

アクセシブル詳細を取得

この例は、ariaDetailsElements が HTML の aria-details 属性で定義された情報を取得するために使用できる方法を示します。

HTML

この HTML は 2 つの <span> 要素を定義し、それらの ID を <button>aria-details 属性で参照しています。

html
<button aria-details="details1 details2">ボタンテキスト</button>
...
<span id="details1">要素に関する詳細 1 情報です。</span>
<span id="details2">要素に関する詳細 2 情報です。</span>
<pre id="log"></pre>
#log {
 height: 70px;
 overflow-x: scroll;
 padding: 0.5rem;
 border: 1px solid black;
}

JavaScript

以下のコードはまず、Element.getAttribute() から取得した aria-details 属性の値(参照された要素の id 値を列挙した文字列)をログ出力します。 次に ariaDetailsElements に対応しているかを確認し、対応している場合はその値をログ出力します。 最後に、返された要素を反復処理し、それらの内部テキストを連結することで、計算されたアクセシブルな文字列を返します。

const logElement = document.querySelector("#log");
function log(text) {
 logElement.innerText = `${logElement.innerText}${text}\n`;
 logElement.scrollTop = logElement.scrollHeight;
}
js
const buttonElement = document.querySelector("button");
log(`aria-details: ${buttonElement.getAttribute("aria-details")}`);
// ariaDetailsElements の機能検出
if ("ariaDetailsElements" in Element.prototype) {
 // ariaDetailsElements の取得
 const buttonElements = buttonElement.ariaDetailsElements;
 log(`ariaDetailsElements: ${buttonElements}`);
 // ariaDetailsElements からのアクセシブル詳細
 const text = buttonElements.map((e) => e.textContent.trim()).join(" ");
 log(`アクセシブル詳細: ${text.trim()}`);
} else {
 log("element.ariaDetailsElements: ブラウザーが対応していません");
}

結果

下記ログ出力は、元の要素参照、関連付けられた/返された要素、およびアクセス可能な詳細を表示させています。

仕様書

仕様書
Accessible Rich Internet Applications (WAI-ARIA)
# dom-ariamixin-ariadetailselements

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /