{"id":265,"date":"2017-09-06T17:18:10","date_gmt":"2017-09-06T15:18:10","guid":{"rendered":"http:\/\/evileu.de\/systemberatung\/?p=265"},"modified":"2017-09-06T17:19:15","modified_gmt":"2017-09-06T15:19:15","slug":"contact-form-7-nuetzling-aber-leider-erstmal-nicht-barrierefrei","status":"publish","type":"post","link":"https:\/\/evileu.de\/systemberatung\/2017\/09\/06\/contact-form-7-nuetzling-aber-leider-erstmal-nicht-barrierefrei\/","title":{"rendered":"Contact Form 7: N\u00fctzling, aber leider erstmal nicht barrierefrei"},"content":{"rendered":"<h2>Der praktische WordPress-Formulardesigner mit vielen Features<\/h2>\n<p>Wer in WordPress mit Formularen zu tun hat, wird in den meisten F\u00e4llen das Plugin <a href=\"https:\/\/wordpress.org\/plugins\/contact-form-7\/\">Contact Form 7 <\/a>einsetzen. Es bietet einen sehr praktischen Formulareditor, in dem sie ihre Kontaktformulare und Anmeldungen und Bestellungen und was man halt so alles an Formularen brauchen kann in wenigen Schritten zusammenklicken. Eine komplette E-Mail-Response Verwaltung ist auch\u00a0im Funktionsumfang enthalten und nimmt einem ebenfalls viel Handarbeit ab. Dazu kommen noch ein paar sehr praktische Erweiterungen f\u00fcr Hidden Fields und zum Speichern der Formulardaten in der Datenbank. Insgesamt ein rundes Paket, mit dem sie ihrem Kunden schnell und effizient eine komplette Formularabwicklung anbieten k\u00f6nnen.<\/p>\n<p>Mit \u00fcber 5 Millionen Installationen d\u00fcrfte es auch eins der erfolgreichsten WordPress-Plugins aller Zeiten sein. Da verwundert es mich um so mehr, da\u00df Contact Form 7 mit den Default-Einstellungen Formulare produziert, die nicht barrierefrei sind und im WAVE-Tool haufenweise Errors anzeigen. Wie kommts? Da wurde beim Programmieren geschlampert.<\/p>\n<h2>Da fehlen bei den Labels die id&#8217;s!<\/h2>\n<p>Dabei ist es eigentlich ganz einfach. \u00a0Nach WCAG 2.0 braucht jedes Formularfeld ein identifizierendes Label, das es dem Screenreader erlaubt, das Formular gezielt zu bedienen. Das sieht dann ganz einfach so aus, ich zeig hier mal ein Formular mit zwei Feldern:<\/p>\n<pre><span class=\"nt\">&lt;label<\/span> <span class=\"na\">for=<\/span><span class=\"s\">\"firstname\"<\/span><span class=\"nt\">&gt;<\/span>First name:<span class=\"nt\">&lt;\/label&gt;<\/span> <span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"text\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"firstname\"<\/span> <span class=\"na\">id=<\/span><span class=\"s\">\"firstname\"<\/span><span class=\"nt\">&gt;&lt;br&gt;<\/span> \r\n\r\n<span class=\"nt\">&lt;input<\/span> <span class=\"na\">type=<\/span><span class=\"s\">\"checkbox\"<\/span> <span class=\"na\">name=<\/span><span class=\"s\">\"subscribe\"<\/span> <span class=\"na\">id=<\/span><span class=\"s\">\"subscribe\"<\/span><span class=\"nt\">&gt;<\/span> <span class=\"nt\">&lt;label<\/span> <span class=\"na\">for=<\/span><span class=\"s\">\"subscribe\"<\/span><span class=\"nt\">&gt;<\/span>Subscribe to newsletter<span class=\"nt\">&lt;\/label&gt;<\/span><\/pre>\n<p>Jedes Formularfeld kriegt eine id, und die wird mit dem label-for-Tag logisch verkn\u00fcpft, das wars schon. Eigentlich HTML f\u00fcr Anf\u00e4nger.<\/p>\n<p>In Contact Form 7 siehts so aus &#8211; keine id!<\/p>\n<pre>&lt;label&gt; Ihr Name (Pflichtfeld)\r\n [text* your-name] &lt;\/label&gt;<\/pre>\n<p>Da muss man per Hand nacharbeiten, wenn man barrierefreie Formulare haben m\u00f6chte, und das finde ich ehrlich gesagt unm\u00f6glich f\u00fcr ein so verbreitetes Tool mit Millionen Installationen.<\/p>\n<h2>Jede Menge Extensions<\/h2>\n<p>\u00dcber die interessantesten Extensions f\u00fcr Contact Form (CF7 DTX, CF7 Datenbank Plugins) gibts dann sp\u00e4ter noch \u00a0jeweils eigene Artikel, da warten noch interessante Features auf sie!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der praktische WordPress-Formulardesigner mit vielen Features Wer in WordPress mit Formularen zu tun hat, wird in den meisten F\u00e4llen das Plugin Contact Form 7 einsetzen. Es bietet einen sehr praktischen Formulareditor, in dem sie ihre Kontaktformulare und Anmeldungen und Bestellungen und was man halt so alles an Formularen brauchen kann in wenigen Schritten zusammenklicken. Eine &hellip; <a href=\"https:\/\/evileu.de\/systemberatung\/2017\/09\/06\/contact-form-7-nuetzling-aber-leider-erstmal-nicht-barrierefrei\/\" class=\"more-link\"><span class=\"screen-reader-text\">Contact Form 7: N\u00fctzling, aber leider erstmal nicht barrierefrei<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[19,26,27,6],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/posts\/265"}],"collection":[{"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/comments?post=265"}],"version-history":[{"count":6,"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/posts\/265\/revisions"}],"predecessor-version":[{"id":276,"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/posts\/265\/revisions\/276"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/media?parent=265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/categories?post=265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/systemberatung\/wp-json\/wp\/v2\/tags?post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}