この<input>
属性autocapitalize="words"
は、デフォルトの iOS キーボードを使用する iOS 8、9 のモバイル Safari では壊れています。各単語の最初の文字ではなく、フィールドの最初の 2 文字を大文字にします。
公式ドキュメントはサポートされていると述べています: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html
テストするには、iOS エミュレーターまたは実際のデバイスで次のフィールドを開きます。
First name: <input type="text" autocorrect="off" autocapitalize="words" value="First Name">
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_submitを使用してテストするか、iOS 8 または 9 で次のスニペットを使用できます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Test autocapitalize</title>
</head>
<body>
<form>
<label for="words">autocapitalize="words"</label>
<input type="text" autocapitalize="words" name="text1" id="words" /><br />
<label for="sentences">autocapitalize="sentences"</label>
<input type="text" autocapitalize="sentences" name="text2" id="sentences" /><br />
<label for="none">autocapitalize="none"</label>
<input type="text" autocapitalize="none" name="text3" id="none" />
</form>
</body>
</html>
これが 8.x から存在し、レーダーの下を通過したことに驚いています。
既知の回避策はありますか?
10/13 更新: iPhone 6s+ Safari は、入力フィールドに設定された HTML 属性を完全に無視します。