23. Желательно с полифилом
Не работает в Firefox и IE:
• r n e - плохая деградация
ag
• d t - разный формат даты, плохая стилизация
ae
Простой полифил из Webshims Lib и другие
23
25. Рано
Слабая поддержка браузеров
• datetime, datetime-local
• month, week
• color
• formation, formmethod, formtarget, formenctype - без IE
Тест на поддержку форм
25
28. Нативно
Минимальный набор для лояльной валидации:
• rqie
eurd
• u l, t l, n m e e a l
r e u b r, m i
(основные браузеры, IE 10+, без Safari и мобильных)
28
29. Pattern
Регулярные выражения:
• p t e n " ^ @ * [ @ * - email
atr=[ ]@^ ]"
• [ - A Z - ] - apha-numeric
az-09+
• ^ a z - ] a z - 0 9 _ . { , 0 $ - username
[-AZ[-AZ--]12}
Больше паттернов
29
31. Нативно
Временно без валидации:
• f r n v l d t = t u / a s " - на кнопку отправки
omoaiae"refle
На велосипеде:
• n v l d t = t u / a s " - на форму
oaiae"refle
31
32. JS API валидации
Все основные браузеры (включая Safari) и IE 10+.
• Смена текста ошибки
• Переопределение вывода ошибок
• Дополнительная валидация
Доступен лёгкий полифил H5F. Подробней об API.
32
33. Строгая валидация
Нативная валидация не рекомендуется, используйте фреймворки:
• Parsley.js
• jQuery Validation plugin
• и другие
Не забываем про валидацию на сервере
33
34. Вывод
Строгость валидации:
• Минимальная - только в HTML
• Средняя - JS API + сервер
• Высокая - Фреймворки + сервер
34
48. Черный экран - так выглядет ваш сайт для 39 миллионов людей в мире.
49. Стандарт Aria
• rl=aet
oe"lr"
• a i - i e = "off/polite/assertive"
ralv
• a i - a e l d y = "ID", a i - a e = "ID"
ralbleb ralbl
• a i - e u r d = "true/false"
rarqie
• a i - n a i = "true/false"
raivld
49
50. Стандарт Aria
• a i - u o o p e e = "inline/list/both"
raatcmlt
• a i - a u n w = "num", a i - a u t x = "text"
ravleo ravleet
• a i - a u m x, a i - a u m n = "num"
ravlea ravlei
• + все лучшие практики
Еще aria
50
51. Нативная валидация,
d t и другие HTML5 элементы форм
ae
пока не поддерживаются читалками.
51
52. Теперь знаем
• Новые HTML5 поля и атрибуты
• Валидация форм
• Стилизация
• Доступность
52
55. « The state of HTML5 forms support
is changing very quickly though,
and continues to improve.
Jan Kleinert
55
56. Forms Boilerplate
Стартовый комплект для создания правильных форм
• Примеры использования типов полей
• Лучшие практики и рекомендации
• Базовая разметка и стилизация
• Доступность (Accessability)
Уже на гитхабе — rhr.me/FBP !
56
59. Бонус
Расширенная версия слайдов на rhr.me/pres/forms
• <Progress>, <meter>
• Рабочие примеры кода
• Больше ссылок →
59
60. Бонус
Теория:
• HTML5 doctor об атрибутах и о типах полей
Практика:
• О стилизации
• Исследования особенностей форм от Wufoo
• Демонстрация HTML5 форм
60