Baseline Widely available
<input>
è¦ç´ ã® search
åã¯ãã¦ã¼ã¶ã¼ãæ¤ç´¢ã¯ã¨ãªã¼ãå
¥åããããã«è¨è¨ãããããã¹ãå
¥åæ¬ã§ãã text
å
¥åæ¬ã¨æ©è½çã«ã¯åãã§ãããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¯å¥ãªã¹ã¿ã¤ã«ãé©ç¨ããããããã¾ããã
<label for="site-search">Search the site:</label>
<input type="search" id="site-search" name="q" />
<button>Search</button>
label {
display: block;
font:
1rem "Fira Sans",
sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
å¤
value
屿§ã¯ãããã¹ãå
¥åæ¬ã«å
¥åãããç¾å¨ã®ããã¹ãã®å¤ãå
¥ã£ã¦ããæååã§ãã JavaScript ã§ã¯ HTMLInputElement.value
ããããã£ã使ã£ã¦ãããåãåããã¨ãã§ãã¾ãã
searchTerms = mySearch.value;
å
¥åæ¬ã«æ¤è¨¼ã®å¶ç´ããªãå ´åï¼è©³ããã¯æ¤è¨¼ãåç
§ï¼ãå¤ã¯ä»»æã®æåååã¯ç©ºæåå (""
) ã«ãªããã¨ãããã¾ãã
ã°ãã¼ãã«å±æ§ããã³ãåã«é¢ä¿ãªããã¹ã¦ã® <input>
è¦ç´ ãæä½ãã屿§ã«å ããsearch
åã®å
¥åæ¬ã¯æ¬¡ã®å±æ§ã«ã対å¿ãã¦ãã¾ãã
list 屿§ã®å¤ã¯ãåãææ¸å
ã«ãã <datalist>
è¦ç´ ã® id
ã§ãã <datalist>
ã¯ããã®å
¥åæ¬ã§ã¦ã¼ã¶ã¼ã«ææ¡ããããã®äºåå®ç¾©ãããå¤ã®ãªã¹ããæä¾ãã¾ãããªã¹ãã®ä¸ã®å¤ã®ãã¡ type
ã¨äºææ§ã®ãªããã®ã¯ãææ¡ããããªãã·ã§ã³ã«ã¯å«ã¾ãã¾ãããæä¾ãããå¤ã¯ææ¡ã§ãããè¦ä»¶ã§ã¯ããã¾ãããã¦ã¼ã¶ã¼ã¯ãã®å®ç¾©æ¸ã¿ãªã¹ããã鏿ãããã¨ããç°ãªãå¤ãæä¾ãããã¨ãã§ãã¾ãã
ã¦ã¼ã¶ã¼ãæ¤ç´¢ãã£ã¼ã«ãã«å
¥åãããã¨ãã§ããï¼UTF-16 ã³ã¼ãåä½ã§ã®ï¼æå¤§æååé·ã§ãã 0 以ä¸ã®æ´æ°å¤ã§ããå¿
è¦ãããã¾ãã maxlength
ãæå®ããã¦ããªãããç¡å¹ãªå¤ãæå®ããã¦ããã¨ãæ¤ç´¢ãã£ã¼ã«ãã«ã¯æå¤§æåæ°ãè¨å®ããã¾ããããã®å¤ã¯ minlength
ã®å¤ä»¥ä¸ã§ããå¿
è¦ãããã¾ãã
ãã£ã¼ã«ãã«å
¥åãããããã¹ãã®é·ãã UTF-16 ã³ã¼ãåä½ã§ maxlength
ã®é·ããè¶
ãã¦ããã¨ããã®å
¥åæ¬ã¯å¶ç´æ¤è¨¼ã«å¤±æãã¾ããå¶ç´æ¤è¨¼ã¯ã¦ã¼ã¶ã¼ãå¤ã夿´ããå ´åã«ã®ã¿é©ç¨ããã¾ãã
ã¦ã¼ã¶ã¼ãæ¤ç´¢ãã£ã¼ã«ãã«å
¥åãããã¨ãã§ããï¼UTF-16 ã³ã¼ãåä½ã§ã®ï¼æå°æååé·ã§ããããã¯éè² ã®æ´æ°å¤ã§ã maxlength
ã§æå®ãããå¤ä»¥ä¸ã§ããå¿
è¦ãããã¾ãã minlength
ãæå®ããã¦ããªãããç¡å¹ãªå¤ãæå®ããã¦ããã¨ãæ¤ç´¢ãã£ã¼ã«ãã«ã¯æå°æåæ°ãè¨å®ããã¾ããã
å
¥åæ¬ã®ããã¹ãå¤ã®é·ãã UTF-16 ã³ã¼ãåä½ã§ minlength
ã®é·ããããçãã¨ããã®æ¤ç´¢ãã£ã¼ã«ãã¯å¶ç´æ¤è¨¼ã«å¤±æãã¾ããå¶ç´æ¤è¨¼ã¯ã¦ã¼ã¶ã¼ãå¤ã夿´ããå ´åã«ã®ã¿é©ç¨ããã¾ãã
pattern
屿§ã¯ãæå®ããå ´åã¯æ£è¦è¡¨ç¾ã§ãããå
¥åæ¬ã® value
ãå¶ç´æ¤è¨¼ã«åæ ¼ããããã«ã¯ããã¨ä¸è´ããªããã°ãªãã¾ããããã㯠RegExp
åã§ä½¿ç¨ããã JavaScript ã®å¦¥å½ãªæ£è¦è¡¨ç¾ã§ããå¿
è¦ããããããã¯æ£è¦è¡¨ç¾ã®ã¬ã¤ãã§è¨è¿°ããã¦ãã¾ããæ£è¦è¡¨ç¾ãã³ã³ãã¤ã«ãããã¨ãã« 'u'
ãã©ã°ãæå®ãããã®ã§ããã¿ã¼ã³ã¯ ASCII ã§ã¯ãªã Unicode ã³ã¼ããã¤ã³ãã®ä¸¦ã³ã¨ãã¦æ±ããã¾ãããã¿ã¼ã³ã®ããã¹ããã¹ã©ãã·ã¥ã§å²ãã§ã¯ããã¾ããã
æå®ããããã¿ã¼ã³ããªãããç¡å¹ã§ããå ´åã¯ãæ£è¦è¡¨ç¾ã¯é©ç¨ãããããã®å±æ§ã¯å®å ¨ã«ç¡è¦ããã¾ãã
ã¡ã¢: title
屿§ã使ç¨ãã¦ããã¹ããæå®ããã¨ãå¤ãã®ãã©ã¦ã¶ã¼ã§ãã¿ã¼ã³ã«ä¸è´ããè¦ä»¶ãä½ã§ãããã説æãããã¼ã«ãããã表示ãããã¨ãã§ãã¾ããè¿ãã«ä»ã®èª¬æããã¹ããé
ç½®ããå¿
è¦ãããã¾ãã
詳細ãä¾ã«ã¤ãã¦ã¯ãã¿ã¼ã³ã®æå®ãåç §ãã¦ãã ããã
placeholderplaceholder
屿§ã¯æååã§ããã®æ¬ã«ã©ã®ãããªç¨®é¡ã®æ
å ±ãæ±ãããããã«ã¤ãã¦ã®ã¦ã¼ã¶ã¼ã«å¯¾ããçããã³ããæä¾ãã¾ããããã¯æ±ãããããã¼ã¿ã®ç¨®é¡ãç´¹ä»ããä¸èªã¾ãã¯çãå¥ã§ããã説æçãªã¡ãã»ã¼ã¸ã§ã¯ããã¾ãããããã¹ãã«ã¯æ¹è¡ãå«ãããã¨ã¯ã§ãã¾ããã
ã³ã³ããã¼ã«ã®å 容ãããæ¸åæ¹åï¼LTR ã¾ã㯠RTL) ã§ãããã®ã®ããã¬ã¤ã¹ãã«ãã¼ãéã®æ¹åã«è¡¨ç¤ºããå¿ è¦ãããå ´åã Unicode åæ¹åã¢ã«ã´ãªãºã æ¸å¼æåã使ç¨ãã¦ãã¬ã¤ã¹ãã«ãã¼ã®ä¸ã§æ¸åæ¹åã䏿¸ããããã¨ãã§ãã¾ãã詳ããã¯ãåæ¹åããã¹ãã§ã® Unicode ã³ã¼ãã®ä½¿ãæ¹ï¼è±èªï¼ãåç §ãã¦ãã ããã
ã¡ã¢: å¯è½ã§ããã° placeholder
ã使ç¨ãããã¨ã¯é¿ãã¦ãã ããããã©ã¼ã ã説æããä»ã®æ¹æ³ã»ã©æå³è«çã«æçã§ã¯ãªããã³ã³ãã³ãã«äºæããªãæè¡çãªåé¡ãå¼ãèµ·ããå¯è½æ§ãããã¾ãã詳ããã¯ã<input>
ã®ã©ãã«ãåç
§ãã¦ãã ããã
è«ç屿§ã§ãåå¨ããã°ãã¦ã¼ã¶ã¼ãç·¨éãããã¨ãã§ããªããã¨ã表ãã¾ãããããã value
ã¯ã JavaScript ã³ã¼ãããç´æ¥ HTMLInputElement
ã® value
ããããã£ãè¨å®ãããã¨ã§å¤æ´ãããã¨ãã§ãã¾ãã
ã¡ã¢: èªã¿åãå°ç¨ãã£ã¼ã«ãã¯å¤ãæã¦ãªãããã required
㯠readonly
屿§ãæå®ããã¦ããå
¥åæ¬ã«ã¯å¹æãããã¾ããã
size
屿§ã¯æ°å¤ã§ãããå
¥åæ¬ã®å¹
ã使ååã¨ãããã示ãã¾ããå¤ã¯ã¼ããã大ããªæ°å¤ã§ããå¿
è¦ããããæ¢å®å¤ã¯ 20 ã§ããæåã®å¹
ã¯æ§ã
ã§ãããããããã¯æ£ç¢ºã§ã¯ãªãå¯è½æ§ããããä¾åãããã¨ã¯ã§ãã¾ãããçµæã®å
¥åæ¬ã¯æåæ°ããã©ã³ãï¼ä½¿ç¨ä¸ã® font
è¨å®ï¼ã«ãã£ã¦ãæå®ãããæåæ°ããçããªã£ããåºããªã£ãããããã¨ãããã¾ãã
ããã¯ã¦ã¼ã¶ã¼ããã£ã¼ã«ãã«å
¥åãããã¨ãã§ããæåæ°ã®å¶éãè¨å®ãããã®ã§ã¯ããã¾ãããããã¯ä¸åº¦ã«è¦ããæåæ°ããããæå®ããã ãã§ããå
¥åãã¼ã¿ã®é·ãã®ä¸éãè¨å®ããã«ã¯ã maxlength
屿§ã使ç¨ãã¦ãã ããã
spellcheck
ã¯ã°ãã¼ãã«å±æ§ã§ãè¦ç´ ã§ã¹ãã«ãã§ãã¯ãæå¹ã«ãããã©ããã示ãã¾ããå
容ãç·¨éå¯è½ãªãã®ãã¹ã¦ã«ä½¿ç¨ãããã¨ãã§ãã¾ãããããã§ã¯ spellcheck
屿§ã® <input>
è¦ç´ ã®ä½¿ç¨ã«é¢ãã¦ç¹ã«èãã¾ãã spellcheck
ã§å©ç¨ã§ããå¤ã¯æ¬¡ã®éãã§ãã
false
ãã®è¦ç´ ã§ã¹ãã«ãã§ãã¯ãç¡å¹ã«ãã¾ãã
true
ãã®è¦ç´ ã§ã¹ãã«ãã§ãã¯ãæå¹ã«ãã¾ãã
ã¹ãã«ãã§ãã¯ã«ã¤ãã¦ãè¦ç´ ã®æ¢å®ã®åä½ã«å¾ãã¾ããããã¯è¦ªã® spellcheck
è¨å®ãããã®ä»ã®è¦å ã«åºã¥ããã¨ãããã¾ãã
å ¥åæ¬ã§ã¯ã readonly 屿§ãè¨å®ããã¦ãããããã¤ç¡å¹ã«ãªã£ã¦ããªãå ´åã«ã¹ãã«ãã§ãã¯ãæå¹ã«ãããã¨ãã§ãã¾ãã
spellcheck
ãèªã¿åããã¨ã§è¿ãããå¤ã¯ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã®è¨å®ã«ãã£ã¦ä¸æ¸ããããå ´åãã³ã³ããã¼ã«å
ã®ã¹ãã«ãã§ãã¯ã®å®éã®ç¶æ
ãåæ ããªãå¯è½æ§ãããã¾ãã
以ä¸ã®æ¨æºå¤ã®å±æ§ãæ¤ç´¢å ¥åãã£ã¼ã«ãã§å©ç¨ã§ãã¾ãã ã§ããã°ä½¿ç¨ãããã¨ãé¿ãã¦ãã ããã
incrementalè«ç屿§ incremental
㯠WebKit ããã³ Blink æ¡å¼µã§ï¼ãã®ãã Safari, Opera, Chrome, ãªã©ã対å¿ï¼ãããåå¨ããã°ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã«å
¥åãã©ã¤ãæ¤ç´¢ã¨ãã¦å¦çãã¾ããã¦ã¼ã¶ã¼ããã£ã¼ã«ãã®å¤ãç·¨éããã¨ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ã㯠search
ã¤ãã³ããæ¤ç´¢ããã¯ã¹ã表ã HTMLInputElement
ãªãã¸ã§ã¯ãã¸éä¿¡ãã¾ããããã«ãããã¦ã¼ã¶ã¼ãæ¤ç´¢ãç·¨éãããã³ã«ãã³ã¼ããããªã¢ã«ã¿ã¤ã ã«æ¤ç´¢çµæãæ´æ°ãããã¨ãã§ãã¾ãã
incremental
ãæå®ããã¦ããªãå ´åã search
ã¤ãã³ãã¯ã¦ã¼ã¶ã¼ãæç¤ºçã«æ¤ç´¢ãå®è¡ããæã®ã¿ï¼ãã£ã¼ã«ããç·¨éä¸ã« Enter ã¾ã㯠Return ãã¼ãæ¼ããªã©) éä¿¡ããã¾ãã
search
ã¤ãã³ãã¯çºçé »åº¦ãå¶éããã¦ãããããå®è£
ã«ããå®ç¾©ãããééãããé »ç¹ã«éä¿¡ããããã¨ã¯ããã¾ããã
results
屿§ã¯ã Safari ã®ã¿ã対å¿ãã¦ãã¾ãããæ°å¤ã§ <input>
è¦ç´ ãæ¬æ¥æã£ã¦ããéå»ã®æ¤ç´¢ã¯ã¨ãªã¼ã®ãããããã¦ã³ã¡ãã¥ã¼ã«è¡¨ç¤ºãããé
ç®ã®æå¤§æ°ã䏿¸ããã¾ãã
å¤ã¯éè² ã®10鲿°ã§ãªããã°ãªãã¾ãããæä¾ãããªãã£ãå ´åãã¾ãã¯ç¡å¹ãªå¤ãæå®ãããå ´åããã©ã¦ã¶ã¼æ¢å®ã®é ç®ã®æå¤§æ°ã使ç¨ããã¾ãã
æ¤ç´¢å ¥åæ¬ã®ä½¿ç¨search
åã® <input>
è¦ç´ ã¯ã text
åã¨ã¨ã¦ãä¼¼ã¦ãã¾ãããæ¤ç´¢èªãæ±ããã¨ã«ç¹åãã¦ããç¹ãç°ãªãã¾ããã©ã¡ããåºæ¬çã«ã¯åãåä½ããã¾ãããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã«ãã£ã¦ã¯æ¢å®ã§ç°ãªãã¹ã¿ã¤ã«ã鏿ããããããã¾ããï¼ããã¦ãã¡ããããµã¤ãã¯ç¬èªã®ã¹ã¿ã¤ã«ãé©ç¨ãããã¨ãã§ãã¾ãï¼ã
<form>
<div>
<input type="search" id="mySearch" name="q" />
<button>æ¤ç´¢</button>
</div>
</form>
次ã®ããã«è¡¨ç¤ºããã¾ãã
q
ã¯æ¤ç´¢å
¥åã«ä¸ããããæãä¸è¬ç㪠name
ã§ãããããããå¿
è¦ãããããã§ã¯ããã¾ãããéä¿¡ããã¨ããµã¼ãã¼ã«éä¿¡ããããã¼ã¿ã®ååã¨å¤ã®çµã¯ q=æ¤ç´¢èª
ã¨ãªãã¾ãã
ã¡ã¢: å
¥åæ¬ã« name
ãè¨å®ãããã¨ãå¿ããªãã§ãã ãããããããªãã¨éä¿¡ããã¾ããã
主ãªéãã¯ãã©ã¦ã¶ã¼ã«ããæ±ãæ¹ã§ããç¹çããã¹ãæåã®ãã¨ã¯ããã©ã¦ã¶ã¼ã«ãã£ã¦ã¯Ãå°ã表示ãã¦ãã¯ãªãã¯ããã¨ç°¡åã«æ¤ç´¢èªãåé¤ã§ãããã¨ã§ããæ¬¡ã®ã¹ã¯ãªã¼ã³ã·ã§ãã㯠Chrome ã®ãã®ã§ãã
å ãã¦ãæè¿ã®ãã©ã¦ã¶ã¼ã¯ä»¥åãã¡ã¤ã³å ã§å ¥åãããæ¤ç´¢èªãèªåçã«æ ¼ç´ãããã®ãã¡ã¤ã³ã®æ¤ç´¢å ¥åæ¬ã§å¾å±çãªæ¤ç´¢ãè¡ãããã¨ãã«ãèªåè£å®ãªãã·ã§ã³ã«ä¸ãã£ã¦ããããã«ããå¾åãããã¾ããããã¯åãåã¯ä¼¼ãæ¤ç´¢ãç¹°ãè¿ãã¦è¡ãå¾åãããã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ä¾¿å©ã§ããæ¬¡ã®ã¹ã¯ãªã¼ã³ã·ã§ãã㯠Firefox ã®ãã®ã§ãã
ãã®ç¹ã«ã¤ãã¦ãæ¤ç´¢ãã©ã¼ã ã«é©ç¨ãããã¨ãã§ããæç¨ãªãã¯ããã¯ãè¦ã¦ã¿ã¾ãããã
ãã¬ã¤ã¹ãã«ãã¼ã®è¨å®placeholder
屿§ã使ç¨ãã¦ãããã¹ãå
¥åæ¬ã®å
é¨ã«æç¨ãªãã¬ã¤ã¹ãã«ãã¼ãæä¾ãããã¨ã§ãä½ãå
¥åããã°ãããã®ãã³ããæä¾ãããã¨ãã§ãã¾ããæ¬¡ã®ä¾ãè¦ã¦ãã ããã
<form>
<div>
<input type="search" id="mySearch" name="q" placeholder="ãµã¤ããæ¤ç´¢..." />
<button>æ¤ç´¢</button>
</div>
</form>
ãã¬ã¤ã¹ãã«ãã¼ã®è¡¨ç¤ºæ¹æ³ã以ä¸ã§ç¢ºèªã§ãã¾ãã
æ¤ç´¢ãã©ã¼ã ã®ã©ãã«ã¨ã¢ã¯ã»ã·ããªãã£æ¤ç´¢ãã©ã¼ã ã®ä¸ã¤ã®åé¡ã¯ã¢ã¯ã»ã·ããªãã£ã§ããä¸è¬çãªãã¶ã¤ã³ã®æ £ä¾ã§ã¯ãæ¤ç´¢ãã£ã¼ã«ãã«ãã©ãã«ããªãï¼è«ç¼é¡ã®ã¢ã¤ã³ã³ãåé¡ã®ãã®ã¯ããã¾ãï¼ãããè¦ããã¦ã¼ã¶ã¼ã«ã¯ããã®é ç½®ããæ¤ç´¢ãã©ã¼ã ã®ç®çãæç¢ºã«åããã¾ãï¼ãã®ä¾ã§ã¯ãããããã¿ã¼ã³ã示ãã¦ãã¾ã)ã
ããããããã¯ãæ¤ç´¢å ¥åãä½ã§ããããè¨èã§ç¤ºãã¦ããªããããã¹ã¯ãªã¼ã³ãªã¼ãã¼ã®å©ç¨è ã«æ··ä¹±ãå¼ãèµ·ããå¯è½æ§ãããã¾ãã ãã¸ã¥ã¢ã«ãã¶ã¤ã³ã«å½±é¿ãä¸ããªãã§ããã解決ããæ¹æ³ã¨ãã¦ã WAI-ARIA ã®æ©è½ã使ç¨ãããã¨ãã§ãã¾ãã
<form>
ãã©ã¼ã ã® role
屿§ã®å¤ã search
ã§ããã¨ãã¹ã¯ãªã¼ã³ãªã¼ãã¼ããã©ã¼ã ãæ¤ç´¢ãã©ã¼ã ã§ãããã¨ãã¢ãã¦ã³ã¹ãã¾ãã<input>
èªèº«ã® aria-label
屿§ã使ç¨ãããã¨ãã§ãã¾ããããã¯ã¹ã¯ãªã¼ã³ãªã¼ãã¼ã«ãã£ã¦èªã¿ä¸ããã説æçãªããã¹ãã©ãã«ã§ããããã¯éè¦è¦ç㪠<label>
ã¨åçã®ãã®ã§ããä¾ãè¦ã¦ã¿ã¾ãããã
<form role="search">
<div>
<input
type="search"
id="mySearch"
name="q"
placeholder="ãµã¤ããæ¤ç´¢..."
aria-label="Search through site content" />
<button>æ¤ç´¢</button>
</div>
</form>
ãã¬ã¤ã¹ãã«ãã¼ãã©ã表示ããããã以ä¸ã§ç¢ºèªã§ãã¾ãã
ååã®ä¾ããè¦ããä¸ã®éãã¯ããã¾ããããã¹ã¯ãªã¼ã³ãªã¼ãã¼ã®ã¦ã¼ã¶ã¼ã¯è¿½å æ å ±ãå¾ãæ¹æ³ãããã¾ãã
ã¡ã¢: ãã®ãããªã¢ã¯ã»ã·ããªãã£æ©è½ã®è©³ç´°ã¤ãã¦ã¯ãéããã¹/ã©ã³ããã¼ã¯ãã覧ãã ããã
ç©ççãªå ¥åè¦ç´ ã®å¯¸æ³å
¥åããã¯ã¹ã®ç©ççãªå¯¸æ³ã¯ã size
屿§ã使ã£ã¦å¶å¾¡ãããã¨ãã§ãã¾ããããã«ãã£ã¦ãããã¹ãå
¥åæ¬ãä¸åº¦ã«è¡¨ç¤ºã§ããæåæ°ãæå®ãããã¨ãã§ãã¾ããããã¯è¦ç´ ã®å¹
ã«å½±é¿ããå¹
ããã¯ã»ã«æ°ã§ã¯ãªãæåæ°ã§æå®ãããã¨ãã§ãã¾ããä¾ãã°ããã®ä¾ã®ä¸ã§ã¯ãå
¥åæ¬ã¯30æåã®å¹
ã§ãã
<form>
<div>
<input
type="search"
id="mySearch"
name="q"
placeholder="ãµã¤ããæ¤ç´¢..."
size="30" />
<button>æ¤ç´¢</button>
</div>
</form>
çµæã¯ãã®åºãå ¥åããã¯ã¹ã«ãªãã¾ãã
æ¤è¨¼search
åã® <input>
è¦ç´ ã¯ãé常㮠text
å
¥åæ¬ã¨åãæ¤è¨¼æ©è½ãå©ç¨ã§ãã¾ããä¸è¬ã«æ¤ç´¢ããã¯ã¹ã«æ¤è¨¼æ©è½ã使ããã¨ã¯ãã¾ããªãã§ããããå¤ãã®å ´åãã¦ã¼ã¶ã¼ã¯ä½ã§ãå
¥åã§ãã¾ãããæ¢åã®å½¢å¼ã®ãã¼ã¿ã«å¯¾ãã¦æ¤ç´¢ãè¡ãå ´åãªã©ãèæ
®ããã¹ãã±ã¼ã¹ãå¤å°ããã¾ãã
ã¡ã¢: HTML ã®ãã©ã¼ã æ¤è¨¼ã¯ãå ¥åããããã¼ã¿ãæ£ããå½¢å¼ã§ãããã¨ãä¿è¨¼ãããµã¼ãã¼ã¹ã¯ãªããã®ä»£ç¨ã«ã¯ãªãã¾ããã HTML ã調æ´ãã¦æ¤è¨¼ããããæããããå®å ¨ã«åé¤ããããããã¨ã¯ã¨ã¦ãç°¡åã«ã§ãã¾ãã HTML ãå®å ¨ã«ãã¤ãã¹ãããµã¼ãã¼ã«ç´æ¥ãã¼ã¿ãéä¿¡ãããã¨ãå¯è½ã§ãããµã¼ãã¼å´ã®ã³ã¼ããåä¿¡ãããã¼ã¿ã®æ¤è¨¼ã«å¤±æããå ´åãä¸é©åãªå½¢å¼ã®ãã¼ã¿ï¼ã¾ãã¯å¤§ãããããã¼ã¿ãééã£ã種é¡ã®ãã¼ã¿ãªã©ï¼ããã¼ã¿ãã¼ã¹ã«å ¥åãããå ´åã«ç½å®³ãçºçããããããããã¾ãã
ã¹ã¿ã¤ã«ã«ãããã¡ã¢ã¦ã¼ã¶ã¼ã«ã¨ã£ã¦å¤ã妥å½ãããã§ãªãããåããããããªãããã«ããã©ã¼ã è¦ç´ ã®ã¹ã¿ã¤ã«ä»ãã«ä¾¿å©ãªæ¬ä¼¼ã¯ã©ã¹ãå©ç¨ã§ãã¾ãã :valid
ããã³ :invalid
ã§ãããã®ç¯ã§ã¯ã以ä¸ã® CSS ã使ç¨ãã¦å
¥åæ¬ã®å¤ã妥å½ã§ããã°é£ã«ãã§ãã¯ãã¼ã¯ã表示ãã妥å½ãªå¤ã§ãªããã°é£ã«ããï¼X) ãã¼ã¯ã表示ãã¾ãã
input:invalid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
input:valid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
ãã®ãã¯ããã¯ã«ã¯ãã©ã¼ã è¦ç´ ã®å¾ã«é
ç½®ããã <span>
è¦ç´ ãå¿
è¦ã§ããããã¢ã¤ã³ã³ã®ãã«ãã¼ã¨ãã¦åä½ãã¾ãããã©ã¦ã¶ã¼ã«ãã£ã¦ã¯ä¸é¨ã®å
¥ååã§ãç´å¾ã«é
ç½®ãããã¢ã¤ã³ã³ããã¾ã表示ã§ããªããã¨ãããã®ã§ãããå¿
è¦ã§ãã
å
¥åãè¡ããªãã¨ãã©ã¼ã ã®éä¿¡ã許å¯ãããªãããã«ããããã®ç°¡åãªæ¹æ³ã¨ãã¦ã required
屿§ã使ããã¨ãã§ãã¾ãã
<form>
<div>
<input
type="search"
id="mySearch"
name="q"
placeholder="ãµã¤ããæ¤ç´¢..."
required />
<button>æ¤ç´¢</button>
<span class="validity"></span>
</div>
</form>
input {
margin-right: 10px;
}
input:invalid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
input:valid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
次ã®ããã«è¡¨ç¤ºããã¾ãã
å ãã¦ãä½ãæ¤ç´¢èªãå ¥åããã«éä¿¡ãããã¨ããã¨ããã©ã¦ã¶ã¼ãã¡ãã»ã¼ã¸ã表示ãã¾ãã以ä¸ã®ãã®ã¯ Firefox ã®ä¾ã§ãã
å ¥åæ¬ã®ä¸ã«ç¡å¹ãªç°ãªããã¼ã¿åãæã¤ãã©ã¼ã ãéä¿¡ãããã¨ããã°ãä¸è¨ã®ä¾ã®ããã«ãç°ãªãã¡ãã»ã¼ã¸ã表示ãããã§ãããã
å ¥åå¤ã®é·ãminlength
屿§ã使ç¨ãã¦å
¥åãããå¤ã®æå°ã®é·ãï¼æåæ°ï¼ãæå®ãããã¨ãã§ãã¾ããåæ§ã«ã maxlength
ã使ç¨ãã¦å
¥åãããå¤ã®æå¤§é·ãæåæ°ã§è¨å®ãã¾ãã
以ä¸ã®ä¾ã§ã¯ãå ¥åå¤ã 4 ï½ 8 æåã®é·ãã§ãããã¨ãæ±ãããã¾ãã
<form>
<div>
<label for="mySearch">ã¦ã¼ã¶ã¼ãæ¤ç´¢</label>
<input
type="search"
id="mySearch"
name="q"
placeholder="ã¦ã¼ã¶ã¼ ID 㯠4ï½8 æåã§ã"
required
size="30"
minlength="4"
maxlength="8" />
<button>æ¤ç´¢</button>
<span class="validity"></span>
</div>
</form>
input {
margin-right: 10px;
}
input:invalid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
input:valid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
This renders like so:
4 æåæªæºã§ãã©ã¼ã ãéä¿¡ãããã¨ããã¨ãé©åãªã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ããã¾ãï¼ãã©ã¦ã¶ã¼ã«ãã£ã¦ç°ãªãã¾ã)ã 8 æåãè¶ ãã¦å ¥åãããã¨ãã¦ãããã©ã¦ã¶ã¼ã許ãã¾ããã
ãã¿ã¼ã³ã®æå®pattern
屿§ã使ç¨ãã¦ãå
¥åå¤ã妥å½ã¨å¤æãããããã«ä¸è´ããªããã°ãªããªãæ£è¦è¡¨ç¾ãæå®ãããã¨ãã§ãã¾ãï¼å
¥åå¤ãæ¤è¨¼ããããã«æ£è¦è¡¨ç¾ã使ãããã®çæã³ã¼ã¹ã¯æ£è¦è¡¨ç¾ã«ããæ¤è¨¼ãã覧ãã ããï¼ã
ä¾ãè¦ã¦ã¿ã¾ãããã製å ID ã®æ¤ç´¢ãã©ã¼ã ãæä¾ãã ID ã¯ãã¹ã¦ã2æåã®è±åã«ç¶ãã¦4æ¡ã®çªå·ã§ãã以ä¸ã®ä¾ã§ããã«å¯¾å¿ãã¾ãã
<form>
<div>
<label for="mySearch">製å ID ã§æ¤ç´¢:</label>
<input
type="search"
id="mySearch"
name="q"
placeholder="2 æåã«ç¶ã㦠4 æ¡ã®æ°å"
required
size="30"
pattern="[A-z]{2}[0-9]{4}" />
<button>æ¤ç´¢</button>
<span class="validity"></span>
</div>
</form>
input {
margin-right: 10px;
}
input:invalid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
input:valid ~ span::after {
content: "â";
padding-left: 5px;
position: absolute;
}
次ã®ããã«è¡¨ç¤ºããã¾ãã
ä¾website-aria-roles ã®ä¾ã®ã§ä½¿ç¨ããæ¤ç´¢ãã©ã¼ã ï¼ã©ã¤ãã§è¦ãï¼ãè¯ãä¾ã§ãã
æè¡çæ¦è¦ 仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±<input>
ããã³ HTMLInputElement
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«åºã¥ãã¦ãã¾ãã<input type="text">
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4