Skip to content
Extraits de code Groupes Projets
Valider a016e5ac rédigé par davux's avatar davux
Parcourir les fichiers

Utiliser des formulaires HTML5 si la conf le permet

Si la configuration du site est réglée sur HTML5, utiliser les
possibilités suivantes dans les formulaires :
 - required="required" sur les champs obligatoires
 - autofocus="autofocus" sur les champs devant prendre le focus
 - input type="email" pour les saisies d'adresse mail
 - input type="url" pour les saisies d'URL
 - input type="search" pour la zone de recherche

Ce comportement correspond aux surcharges effectuées par le plugin
"html5", mais avec l'avantage qu'on évite le fork.

En realité, on pourrait techniquement appliquer ce code HTML tout le
temps, sans tester la valeur de #HTML5, car dans la spec HTML4, lorsqu'un
navigateur voit un type d'input inconnu, il doit le traiter (et le traite)
comme du texte. De la même manière, les attributs inconnus sont ignorés
(autofocus et required). Cependant, ce comportement conditionnel, bien
que légèrement plus lourd dans le squelette, permet de produire du code
valide W3C dans tous les cas.
parent 5d07d512
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -23,12 +23,12 @@
<li class="editer_login obligatoire[(#ENV**{erreurs}|table_valeur{var_login}|oui)erreur]">
<label for="var_login"><:login_login2:></label>[
<span class="erreur_message">(#ENV**{erreurs}|table_valeur{var_login})</span>
]<input type='text' class='text' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='40' />
]<input type='text' class='text' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='40'[(#HTML5) required='required' autofocus='autofocus'] />
</li>
<li class="editer_password obligatoire[(#ENV**{erreurs}|table_valeur{password}|oui)erreur]">
<label for="password"><:login_pass2:></label>[
<span class="erreur_message">(#ENV**{erreurs}|table_valeur{password})</span>
]<input type='password' class='password' name='password' id='password' value="" size='40' />
]<input type='password' class='password' name='password' id='password' value="" size='40'[(#HTML5) required='required'] />
<span class='details'>&#91;<a href="#URL_PAGE{spip_pass}" id='spip_pass'><:login_motpasseoublie:></a>&#93;</span>
</li>
[(#ENV{rester_connecte})
......
......@@ -24,17 +24,17 @@
<li class='saisie_email_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{email_message_auteur}|oui)erreur]'>
<label for="email_message_auteur#ENV{id}"><:form_pet_votre_email:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{email_message_auteur})</span>]
<input type="text" class="text" name="email_message_auteur" id="email_message_auteur#ENV{id}" value="#ENV{email_message_auteur}" size="30" />
<input type="[(#HTML5|?{email,text})]" class="text" name="email_message_auteur" id="email_message_auteur#ENV{id}" value="#ENV{email_message_auteur}" size="30"[(#HTML5) required="required"] />
</li>
<li class='saisie_sujet_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{sujet_message_auteur}|oui)erreur]'>
<label for="sujet_message_auteur#ENV{id}"><:form_prop_sujet:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{sujet_message_auteur})</span>]
<input type="text" class="text" name="sujet_message_auteur" id="sujet_message_auteur#ENV{id}" value="#ENV{sujet_message_auteur}" size="30" />
<input type="text" class="text" name="sujet_message_auteur" id="sujet_message_auteur#ENV{id}" value="#ENV{sujet_message_auteur}" size="30"[(#HTML5) required="required"] />
</li>
<li class='saisie_texte_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{texte_message_auteur}|oui)erreur]'>
<label for="texte_message_auteur#ENV{id}"><:info_texte_message:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{texte_message_auteur})</span>]
<textarea name="texte_message_auteur" id="texte_message_auteur#ENV{id}" rows="8" cols="60">#ENV{texte_message_auteur}</textarea>
<textarea name="texte_message_auteur" id="texte_message_auteur#ENV{id}" rows="8" cols="60"[(#HTML5) required="required"]>#ENV{texte_message_auteur}</textarea>
</li>
</ul>
</fieldset>
......
......@@ -15,12 +15,12 @@
<li class='saisie_nom_inscription obligatoire[ (#ENV*{erreurs}|table_valeur{nom_inscription}|oui)erreur]'>
<label for="nom_inscription"><:form_pet_votre_nom:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{nom_inscription})</span>]
<input type="text" class="text" name="nom_inscription" id="nom_inscription" value="#ENV{nom_inscription}" size="30" />
<input type="text" class="text" name="nom_inscription" id="nom_inscription" value="#ENV{nom_inscription}" size="30" [(#HTML5) [(#ENV{focus}|=={nom_inscription}|oui)autofocus="autofocus" ]required="required"] />
</li>
<li class='saisie_mail_inscription obligatoire[ (#ENV*{erreurs}|table_valeur{mail_inscription}|oui)erreur]'>
<label for="mail_inscription"><:form_pet_votre_email:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{mail_inscription})</span>]
<input type="text" class="text" name="mail_inscription" id="mail_inscription" value="#ENV{mail_inscription}" size="30" />
<input type="email" class="text" name="mail_inscription" id="mail_inscription" value="#ENV{mail_inscription}" size="30" [(#HTML5) [(#ENV{focus}|=={mail_inscription}|oui)autofocus="autofocus" ]required="required"] />
</li>
</ul>
</fieldset>
......@@ -46,4 +46,4 @@ document.write("'><:pass_quitter_fenetre:><" + "/a>");
<noscript>
&#91;<a href='./'><:pass_retour_public:></a>&#93;
</noscript>
</div>]
\ No newline at end of file
</div>]
......@@ -11,7 +11,7 @@
<li class="saisie_oubli obligatoire[ (#ENV*{erreurs}|table_valeur{oubli}|oui)erreur]">
<label for="oubli"><:form_pet_votre_email:></label>
[<span class='erreur'>(#ENV**{erreurs}|table_valeur{oubli})</span>]
<input type='text' name='oubli' id='oubli' value="#ENV**{oubli}" />
<input type='[(#HTML5|?{email,text})]' name='oubli' id='oubli' value="#ENV**{oubli}"[(#HTML5) autofocus="autofocus" required="required"] />
</li>
</ul>
</fieldset>
......@@ -26,4 +26,4 @@
document.getElementById('oubli').focus()
/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>
]
</div>
\ No newline at end of file
</div>
......@@ -3,7 +3,7 @@
[(#ENV{action}|form_hidden)]
[<input type="hidden" name="lang" value="(#ENV{lang})" />]
<label for="recherche"><:info_rechercher_02:></label>
<input type="text" class="text" size="10" name="recherche" id="recherche"[ value="(#ENV{recherche})"] accesskey="4" />
<input type="[(#HTML5{search,text})]" class="text" size="10" name="recherche" id="recherche"[ value="(#ENV{recherche})"] accesskey="4" />
<input type="submit" class="submit" value="&gt;&gt;" title="<:info_rechercher:>" />
</div></form>
</div>
......@@ -11,12 +11,12 @@
<li class='saisie_nom_site obligatoire[ (#ENV*{erreurs}|table_valeur{nom_site}|oui)erreur]'>
<label for="nom_site"><:form_prop_nom_site:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{nom_site})</span>]
<input type="text" class="text" name="nom_site" id="nom_site" value="#ENV{nom_site}" size="30" />
<input type="text" class="text" name="nom_site" id="nom_site" value="#ENV{nom_site}" size="30"[(#HTML5) required="required"] />
</li>
<li class='saisie_url_site[ (#ENV*{erreurs}|table_valeur{url_site}|oui)erreur]'>
<label for="url_site"><:form_prop_url_site:></label>
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{url_site})</span>]
<input type="text" class="text" name="url_site" id="url_site" value="#ENV{url_site}" size="30" />
<input type="[(#HTML5|?{url,text})]" class="text" name="url_site" id="url_site" value="#ENV{url_site}" size="30" />
</li>
<li class='saisie_description_site[ (#ENV*{erreurs}|table_valeur{description_site}|oui)erreur]'>
<label for="description_site"><:form_prop_description:></label>
......@@ -33,4 +33,4 @@
<p class="boutons"><input type="submit" class="submit" value="<:bouton_valider:>" /></p>
</form>
]
</div>
\ No newline at end of file
</div>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter