HTML tabindex ã°ãã¼ãã«å±æ§
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
tabindex ã°ãã¼ãã«å±æ§ã¯ãéçºè
ã HTML è¦ç´ ããã©ã¼ã«ã¹å¯è½ã«ããï¼ãµã¤ãã¯ååã®ç±æ¥ã§ãã Tab ãã¼ã«ããï¼é çªã«ãã©ã¼ã«ã¹ãããã¨ã許å¯ã¾ãã¯é²æ¢ããé çªã«ãã©ã¼ã«ã¹ããããã®ç¸å¯¾é åºã決å®ãããã¨ãã§ããããã«ãã¾ãã
試ãã¦ã¿ã¾ããã
<p>ãã®ãã¤ã³ã®ä»»æã®å ´æãã¯ãªãã¯ããè¦ç´ ãã¿ãã§ç§»åãã¦ã¿ã¦ãã ããã</p>
<label>ã¿ãé ã® 1 çªç®:<input type="text" /></label>
<div tabindex="0">tabindex ã«ããã¿ãç§»åå¯è½</div>
<div>ã¿ãç§»åä¸å¯: tabindex ãªã</div>
<label>ã¿ãé ã® 3 çªç®:<input type="text" /></label>
p {
font-style: italic;
font-weight: bold;
}
div,
label {
display: block;
letter-spacing: 0.5px;
margin-bottom: 1rem;
}
div:focus {
font-weight: bold;
}
å¤ã¨ãã¦ã¯æ´æ°å¤ãåãä»ããå¤ã«ãã£ã¦æ¬¡ã®ãããªæ§ã ãªçµæã«ãªãã¾ãã
ã¡ã¢:
HTML è¦ç´ ãã¬ã³ããªã³ã°ããããã® tabindex 屿§ãæå¹ãªæ´æ°å¤ã§ããå ´åããã®è¦ç´ 㯠JavaScript ã§ï¼focus() ã¡ã½ãããå¼ã³åºããã¨ã§ï¼ãã©ã¼ã«ã¹ãããããã¦ã¹ã¯ãªãã¯ã§è¦è¦çã«ãã©ã¼ã«ã¹ããããããã¨ãã§ãã¾ããç¹å®ã® tabindex å¤ã¯ããã®è¦ç´ ã tabbable ï¼ãã¼ãã¼ãã«ããé£ç¶ããããã²ã¼ã·ã§ã³ãé常㯠Tab ãã¼ã§å°éå¯è½ï¼ã§ãããã©ãããå¶å¾¡ãã¾ãã
-
è² ã®æ° ï¼æ£ç¢ºãªå¤ã¯éè¦ã§ã¯ããã¾ãããããµã¤ãã¯
tabindex="-1"ï¼ã¯ããã®è¦ç´ ããã¼ãã¼ãã®é 次ããã²ã¼ã·ã§ã³ã§ã¯å°éã§ããªããã¨ãæå³ãã¾ããã¡ã¢:
tabindex="-1"ã¯ãTab ãã¼ã§ç´æ¥ããã²ã¼ããããã¹ãã§ã¯ãªããããã¼ãã¼ããã©ã¼ã«ã¹ãè¨å®ããå¿ è¦ã®ããè¦ç´ ã«æçãªå ´åãããã¾ããä¾ã¨ãã¦ã¯ã表示ãããã¨ãã«ãã©ã¼ã«ã¹ãããã¹ãç»é¢å¤ã®ã¢ã¼ãã«ã¦ã£ã³ãã¦ãã誤ã£ããã©ã¼ã ãéä¿¡ããã¨ãã«ç´ã¡ã«ãã©ã¼ã«ã¹ãããã¹ããã©ã¼ã éä¿¡ã¨ã©ã¼ã¡ãã»ã¼ã¸ãªã©ãæãããã¾ãã -
tabindex="0"ã¯ãè¦ç´ ããã¼ãã¼ãã®é 次ããã²ã¼ã·ã§ã³ã§ãtabindexãæ£ã®å¤ã®è¦ç´ ã®å¾ã«ãã©ã¼ã«ã¹ãæã¤ãã¨ãå¯è½ã§ãããã¨ãæå³ãã¾ãããããã®è¦ç´ ã®ãã©ã¼ã«ã¹ããã²ã¼ã·ã§ã³é ã¯ãææ¸ã®ã½ã¼ã¹å ã®é åºã§å®ç¾©ããã¾ãã -
æ£ã®æ°ã¯ãè¦ç´ ããã¼ãã¼ãã®é 次ããã²ã¼ã·ã§ã³ã§ãã©ã¼ã«ã¹ãæã¤ãã¨ãå¯è½ã§ããããã®é åºã¯æ°å¤ã§å®ç¾©ããããã¨ã表ãã¾ããã¤ã¾ãã
tabindex="4"ã¯tabindex="5"ãããåã«ãã©ã¼ã«ã¹ãæ¥ã¾ãããtabindex="3"ãããå¾ã ã¨ãããã¨ã§ããè¤æ°ã®è¦ç´ ã«åãæ£ã®æ°ã®tabindexãæå®ãããå ´åã¯ãææ¸ã®ã½ã¼ã¹å ã®äºãã®ä½ç½®ã«å¾ã£ãé åºã«ãªãã¾ããtabindexã®æå¤§å¤ã¯ 32767 ã§ãã -
ãã
tabindex屿§ãå¤ãªãã§è¨è¿°ãããå ´åããã®è¦ç´ ããã©ã¼ã«ã¹å¯è½ã«ãããã©ããã¯ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ããæ±ºå®ãã¾ããè¦å:
tabindexã®å¤ã¨ãã¦ã0ã¨-1ã®ã¿ã使ç¨ãããã¨ããå§ããã¾ããtabindexã®å¤ã0ãã大ãããããããã©ã¼ã«ã¹å¯è½ãª HTML è¦ç´ ã®é åºã夿´ã§ãã CSS ããããã£ï¼ãã¬ãã¯ã¹ã¢ã¤ãã ã®é åºï¼ã使ç¨ãããããªãããã«ãã¾ããããããã¯ããã¼ãã¼ãã«ããããã²ã¼ã·ã§ã³ãæ¯æ´æè¡ã使ç¨ãã¦ãã人ã«ã¨ã£ã¦ããã¼ã¸ã®ã³ã³ãã³ããæä½ãããã¨ãé£ãããªãã¾ãã代ããã«ãè«ççãªé åºã§è¦ç´ ãè¨è¿°ãã¦ãã ããã
ãã©ã¼ã«ã¹å¯è½ãª HTML è¦ç´ ã®ä¸ã«ã¯ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã«ãã£ã¦ãtabindex ã« 0 ã®æ¢å®å¤ãä¸ãããããã®ãããã¾ãããããã®è¦ç´ 㯠href 屿§ãæã¤ <a> ã¾ã㯠<area>ã<button>ã<frame>
鿍奍;
ã<iframe>ã<input>ã<object>ã<select>ã<textarea>ãSVG ã® <a> è¦ç´ ãããã㯠<details> è¦ç´ ã®æ¦è¦ãæä¾ãã <summary> è¦ç´ ãããã¾ããéçºè
ã¯æ¢å®ã®åä½ã夿´ããªãéãããããã®è¦ç´ ã« tabindex 屿§ã追å ããªãã§ãã ããï¼ä¾ãã°ãè² ã®å¤ãè¨è¼ããã¨ããã©ã¼ã«ã¹ãããããã²ã¼ã·ã§ã³é åºããè¦ç´ ãåé¤ããã¾ãï¼ã
è¦å:
tabindex 屿§ã¯ <dialog> è¦ç´ ã«ä½¿ç¨ãã¦ã¯ããã¾ããã
ã¢ã¯ã»ã·ããªãã£ã®èæ ®äºé
ãã¼ãã¼ãå
¥åã§å¯¾è©±çã«ãã©ã¼ã«ã¹ãè¨å®ã§ããããã«ããããã«ã 対話åã³ã³ãã³ãã§ã¯ãªããã®ã« tabindex 屿§ãçµã¿åããã¦ä½¿ç¨ãããã¨ã¯é¿ãã¦ãã ãããä¾ãã°ã <button> è¦ç´ ã使ç¨ãã代ããã« <div> è¦ç´ ã使ç¨ãã¦ãã¿ã³ãè¨è¿°ããå ´åãªã©ã§ãã
対話çè¦ç´ ã§ãªããã®ã使ç¨ãã¦å¯¾è©±çã³ã³ãã¼ãã³ããè¨è¿°ããã¨ãã¢ã¯ã»ã·ããªãã£ããªã¼ã«æ²è¼ããã¾ãããããã¯ãæ¯æ´æè¡ã«ãã£ã¦ç§»åãæä½ãè¡ããã¨ãé»å®³ãã¾ãããã®ãããªã³ã³ãã³ãã¯ã代ããã«ï¼<a>ã<button>ã<details>ã<input>ã<select>ã<textarea> ãªã©ã®ï¼å¯¾è©±åè¦ç´ ã使ç¨ãã¦æå³çã«è¨è¿°ããã¹ãã§ãããããã®è¦ç´ ã«ã¯ã ARIA ã«ãã£ã¦ç®¡çããªããã°ãªããªãã¢ã¯ã»ã·ããªãã£ã«ã¹ãã¼ã¿ã¹ãä¼ãããçµã¿è¾¼ã¿ã®ãã¼ã«ã¨ç¶æ
ãããã¾ãã
仿§æ¸
| Specification |
|---|
| HTML > # attr-tabindex > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- ãã¹ã¦ã®ã°ãã¼ãã«å±æ§ã
HTMLElement.tabIndexã¯ããã®å±æ§ãåæ ãã¾ããtabindexã«é¢ããã¢ã¯ã»ã·ããªãã£ã®åé¡ã«ã¤ãã¦ã Adrian Roselli ã«ãã Don't Use Tabindex Greater than 0 ãåç §ã- Reading order