Intereting Posts
WordPress не позволяет автоматически обрезать изображения Добавьте пользовательский почтовый ящик в пользовательский заголовок сообщения Вставка функции wpdb не работает Сделать мое главное меню меню гамбургеров на всех платформах WordPress Multisite позволяет администратору сайта добавлять пользователя без подтверждения по электронной почте Переписать SQL-запрос как подготовленный оператор и использовать в цикле foreach Как добавить несколько ссылок RSS-канала для WordPress получать пользовательские размеры изображения из объекта javascript медиа-загрузчика Как сделать другой компьютер в локальной сети, см. Мою тему Что делает l10n.js в WordPress 3.1? И как его удалить? Добавить анимацию CSS в качестве предварительного загрузчика в WordPress Пользовательская постоянная ссылка для каждого сообщения Как добавить биографию пользователя при импорте? Показать различные настройки пользовательских настроек на странице-шаблоны Экспортируйте блог (не мой) как документ PDF

Поддержка темы HTML5 для комментариев + форма «novalidate» – как правильно ее обрабатывать?

ВВЕДЕНИЕ

Мои исследования основаны на следующих предположениях:

Версия WordPress поддерживает HTML5

Перейдите на любую страницу администратора и проверьте полученный документ. Он должен начинаться с <!DOCTYPE html> .

Тема поддерживает HTML5

Осмотрите любой передний конец документа. Он должен начинаться с <!DOCTYPE html> .

Тема поддерживает HTML5 для комментариев

Разумеется, добавьте это в функции functions.php темы:

 function check_html5_support_for_comments() { if ( !current_theme_supports( 'html5', 'comment-form' ) ) add_theme_support( 'html5', 'comment-form' ); } add_action( 'after_setup_theme', 'check_html5_support_for_comments', 10 ); 

АНАЛИЗ

Давайте покажем и проверим любое сообщение с формой комментария в нем. Разметка для <form> и связанных с ней элементов <input> соответствует требованиям HTML5. Хорошо!

Познакомьтесь с элементом <form> . novalidate атрибут novalidate . Этот атрибут контролирует, кто будет выполнять проверку формы. Если присутствует, то проверка выполняется на стороне сервера, в противном случае – браузером (на стороне клиента).

Здесь есть вопросы, на StackExchange, как удалить атрибут novalidate ? См. Так: Как удалить атрибут novalidate из формы комментария , Почему add_theme_support( 'html5', array( 'comment-form' ) отключает проверку на стороне клиента? (Просто чтобы упомянуть несколько). Некоторые ответы предлагают удалить поддержку темы, которая является плохой выбор, поскольку он убивает соответствие HTML5. Это можно сделать с помощью очень простого сценария jQuery (см. мой ответ на второй вопрос, упомянутый выше).

Почему люди задают эти вопросы? Об этом поясняется один из сообщений об ошибках проверки, созданных WordPress. Сообщение уродливо, как грех, разрушает хороший пользовательский интерфейс, и он не совместим с HTML5!

Первоначально я не мог понять, почему WordPress делает этот произвольный выбор для нас, чтобы добавить атрибут novalidate . Теперь я знаю. Как ни безошибочно, сообщение, созданное WordPress, является переводимым. Это может быть не сразу очевидным для английского говорящего, с браузером, установленным для английского языка, и для просмотра веб-сайтов на английском языке. Для такого пользователя нет проблем.

Я разрабатываю веб-сайты на нескольких языках, и в своем браузере я использую английский язык как язык выбора. Несоответствие языков, между веб-сайтом и браузером, заставляет меня неохотно выбирать проверку на стороне клиента.

ЗАКЛЮЧЕНИЕ И ЗАКЛЮЧИТЕЛЬНЫЙ ВОПРОС

Насколько я старался, я не могу найти способ использовать проверку на стороне клиента, заставляя браузеры полностью соблюдать языковые настройки веб-сайта, и до сих пор я не могу найти разумную альтернативу проверке на стороне сервера, которая является одновременно и переводимой, и HTML5. Если вы знаете решение, поделитесь им со мной и другими разработчиками. Благодарю.

Solutions Collecting From Web of "Поддержка темы HTML5 для комментариев + форма «novalidate» – как правильно ее обрабатывать?"