HTML5 Theme Unterstützung für Kommentare + Formular ‘Novalidate’ – wie man damit richtig umgehen?

EINFÜHRUNG

Meine Forschung basiert auf folgenden Annahmen:

WordPress-Version unterstützt HTML5

Gehen Sie zu einer beliebigen Admin-Seite und überprüfen Sie das resultierende Dokument. Es sollte mit .

Thema unterstützt HTML5

Überprüfen Sie das Front-End-Dokument. Es sollte mit .

Theme unterstützt HTML5 für Kommentare

Fügen Sie dies natürlich zu functions.php hinzu:

 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 ); 

ANALYSE

Lassen Sie uns jeden Beitrag mit einem Kommentarformular anzeigen und untersuchen. Das Markup für das

und die zugehörigen -Elemente sind HTML5-konform. Gut!

Sehen Sie sich das

-Element genauer an. Es wurde das novalidate Attribut hinzugefügt. Dieses Attribut steuert, wer die validation des Formulars durchführt. Falls vorhanden, erfolgt die validation serverseitig, ansonsten vom Browser (clientseitig).

Es gibt Fragen hier auf StackExchange, wie novalidate Attribut zu entfernen? Siehe: Wie entferne ich das novalidate-Attribut aus dem Kommentarformular , warum add_theme_support( 'html5', array( 'comment-form' ) die clientseitige validation? ( add_theme_support( 'html5', array( 'comment-form' ) nur ein paar zu nennen) Einige Antworten schlagen vor, die Theme-Unterstützung zu entfernen eine schlechte Wahl, da es HTML5-Konformität tötet.Es kann durch ein sehr einfaches jQuery-Skript geschehen (siehe meine Antwort auf die zweite Frage, die oben erwähnt wurde).

Warum Leute diese Fragen stellen? Ein Blick auf validationserrorsmeldungen, generiert von WordPress, erklärt es. Die Nachricht ist hässlich wie Sünde, zerstört gute Benutzererfahrung und ist auch nicht HTML5-konform!

Anfangs konnte ich den Grund nicht verstehen, warum WordPress diese willkürliche Wahl für uns getroffen hat, um ein novalidate Attribut hinzuzufügen. Jetzt weiß ich. So hässlich es auch ist, die von WordPress erzeugte Nachricht ist übersetzbar. Es ist vielleicht nicht sofort offensichtlich für Englisch sprechende Personen, mit einem auf Englisch eingestellten Browser und mit englischsprachigen Webseiten. Für einen solchen Benutzer gibt es kein Problem.

Ich entwickle Websites in mehreren Sprachen und verwende in meinem Browser Englisch als Sprache der Wahl. Die Nichtübereinstimmung von Sprachen zwischen der Website und dem Browser lässt mich zögern, die clientseitige Formularvalidierung zu wählen.

SCHLUSSFOLGERUNG UND ENDFRAGE

So sehr ich es auch versucht habe, ich kann keine Möglichkeit finden, die clientseitige validation zu verwenden, indem ich Browser dazu zwinge, die Spracheinstellungen der Webseite vollständig zu respektieren, und bis jetzt kann ich keine vernünftige Alternative zur serverseitigen validation finden. und HTML5-konform. Wenn Sie die Lösung kennen, teilen Sie diese bitte mit mir und anderen Entwicklern. Vielen Dank.

Solutions Collecting From Web of "HTML5 Theme Unterstützung für Kommentare + Formular ‘Novalidate’ – wie man damit richtig umgehen?"