Element: ariaDetailsElements ããããã£
Baseline
2025
æè¿å©ç¨å¯è½
April 2025以éããã®æ©è½ã¯ææ°ã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã³ãã©ã¦ã¶ã¼ã§åä½ãã¾ããå¤ã端æ«ããã©ã¦ã¶ã¼ã§ã¯åä½ããªããã¨ãããã¾ãã
ariaDetailsElements 㯠Element ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ããããã£ã§ãããé©ç¨å¯¾è±¡ã®è¦ç´ ã«å¯¾ãã¦ã¢ã¯ã»ã·ãã«ãªè©³ç´°æ
å ±ãæä¾ããè¦ç´ ï¼åæ°ã¾ãã¯è¤æ°ï¼ãå«ãé
åã§ãã
ã¢ã¯ã»ã·ãã«è©³ç´°æ
å ±ã¯ãã¢ã¯ã»ã·ãã«èª¬æï¼ariaDescribedByElements ãåç
§ï¼ã¨é¡ä¼¼ãã¦ãã¾ããããã詳ããæ
å ±ãæä¾ãã¾ãã
aria-details ã®ãããã¯ã«ã¯ããã®å±æ§ã¨ããããã£ã®ä½¿ç¨æ¹æ³ã«é¢ããè¿½å æ
å ±ãããã¾ãã
å¤
HTMLElement ã®ãµãã¯ã©ã¹ã®é
åã§ãã
ãããã®è¦ç´ ã®å
é¨ããã¹ãã¯ã空ç½ã§é£çµãããã¨ã§ãã¢ã¯ã»ã·ãã«è©³ç´°æ
å ±ã«ãªãã¾ãã
èªã¿åãæã«ã¯ãè¿ãããé åã¯éçã§èªã¿åãå°ç¨ã§ãã æ¸ãè¾¼ã¿æã«ã¯ãä»£å ¥ãããé åã¯ã³ãã¼ããã¾ãããã®å¾é åã«å¤æ´ãå ãã¦ããããããã£ã®å¤ã«ã¯å½±é¿ãã¾ããã
解説
ãã®ããããã£ã¯ãã¢ã¯ã»ã·ãã«è©³ç´°æ
å ±ãè¨å®ããããã® aria-details 屿§ã®æè»ãªä»£æ¿ææ®µã§ãã
aria-details ã¨ã¯ç°ãªãããã®ããããã£ã«å²ãå½ã¦ãè¦ç´ 㯠id 屿§ãæã¤å¿
è¦ãããã¾ããã
ãã®ããããã£ã¯ãå®ç¾©ããã¦ããå ´åã«è¦ç´ ã® aria-details 屿§ãåæ ãã¾ãããæå¹ãªã¹ã³ã¼ãå
è¦ç´ ã¨ä¸è´ããåç
§å
ã® id å¤ã«å¯¾ãã¦ã®ã¿åæ ããã¾ãã
ãã®ããããã£ãè¨å®ããã¨ã対å¿ãã屿§ãã¯ãªã¢ããã¾ãã
åæ ãããè¦ç´ ã¸ã®åç
§ã¨ã¹ã³ã¼ãã«é¢ããããè©³ç´°ãªæ
å ±ã«ã¤ãã¦ã¯ãã屿§ã®åæ ãã¬ã¤ãã®è¦ç´ ã®åç
§ã®åæ ãåç
§ãã¦ãã ããã
ä¾
>ã¢ã¯ã»ã·ãã«è©³ç´°ãåå¾
ãã®ä¾ã¯ãariaDetailsElements ã HTML ã® aria-details 屿§ã§å®ç¾©ãããæ
å ±ãåå¾ããããã«ä½¿ç¨ã§ããæ¹æ³ã示ãã¾ãã
HTML
ãã® HTML 㯠2 ã¤ã® <span> è¦ç´ ãå®ç¾©ãããããã® ID ã <button> ã® aria-details 屿§ã§åç
§ãã¦ãã¾ãã
<button aria-details="details1 details2">ãã¿ã³ããã¹ã</button>
â¦
<span id="details1">è¦ç´ ã«é¢ãã詳細 1 æ
å ±ã§ãã</span>
<span id="details2">è¦ç´ ã«é¢ãã詳細 2 æ
å ±ã§ãã</span>
JavaScript
以ä¸ã®ã³ã¼ãã¯ã¾ããElement.getAttribute() ããåå¾ãã aria-details 屿§ã®å¤ï¼åç
§ãããè¦ç´ ã® id å¤ãåæããæååï¼ããã°åºåãã¾ãã
次㫠ariaDetailsElements ã«å¯¾å¿ãã¦ãããã確èªãã対å¿ãã¦ããå ´åã¯ãã®å¤ããã°åºåãã¾ãã
æå¾ã«ãè¿ãããè¦ç´ ãå復å¦çãããããã®å
é¨ããã¹ããé£çµãããã¨ã§ãè¨ç®ãããã¢ã¯ã»ã·ãã«ãªæååãè¿ãã¾ãã
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 > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
aria-details屿§ElementInternals.ariaDetailsElements- è¦ç´ ã®åç §ã®åæ ï¼ã屿§ã®åæ ãã¬ã¤ãï¼