Я хотел бы автоматически активировать цифровую клавиатуру на сенсорных устройствах для полей ввода почтового индекса и номера социального страхования. Почтовые индексы вводятся в пятизначном формате, а SSN вводятся как 111-22-3333. Насколько я понимаю, поля type=number и type=tel автоматически инициируют соответствующую клавиатуру, поэтому эти входы кажутся подходящими, но я не уверен, что это правильный выбор.
Тип=Число
Первоначально я думал, что type=number будет оптимальным решением (поскольку это звучит семантически правильно), но с тех пор обнаружил, что этот тип на самом деле предназначен только для истинных чисел, а не для строк числовых символов. Я видел сообщения в блогах, в которых автоматически обвинялись браузеры, включая запятую в качестве разделителя тысяч и удаляя начальные нули при отправке (ни один из них не подходит для zip / ssn).
Type=Телефон
Из того, что я читал, это кажется лучшим решением моей проблемы. Однако меня беспокоит значение этого нового типа. Должен ли я действительно использовать поле телефона для почтового индекса и ssn? Что, если какой-нибудь производитель мобильных телефонов решит начать показывать адресную книгу для полей тел? Это не имело бы смысла для почтового индекса или ssn.
Альтернативы
Я обнаружил, что новый атрибут шаблона type=text inputs можно использовать для запуска цифровой клавиатуры на устройствах iOS, но это лишь частично решает проблему.
Я также обнаружил новый атрибут inputMode который кажется идеальным решением, но, похоже, еще не реализован ни одним браузером.
Вопрос
Я надеюсь, что у кого-то есть предложение или лучшая практика? Должен ли я использовать ТЕЛ? Должен ли я использовать решение для iOS и игнорировать другие устройства? Будет ли когда-нибудь работать inputMode?