[spip-dev] Formulaires valides

----Message d'origine----

A: "spip-dev@rezo.net" <spip-dev@rezo.net>
Date: Thu, 15 Jul 2004 10:39:00 +0200
De: ARNO* <arno@scarabee.com>
Sujet: [spip-dev] Formulaires valides

Salut,

Ca va faire plaisir à du monde: j'ai repris le code des formulaires des
forums, ainsi que le formulaire d'inscription, c'est désormais valide.

Y'a encore quelques trucs dans inc_formulaires, m'enfin c'étaient les plus
fréquents qui sont désormais "réparés".

Sauf erreur, c'est même compliant XHTML 1.0 transitional (pour le strict,
je sais pas, mais y'a des chances, j'ai remplacé les <font color="red">
par des spans).

Bonjour,

ci dessous des modifications de inc-formulaires.php3, inc-forum.php3,
inc-login.php3.
J'ai rajouté des <label>, <fieldset>, <legend>m et et modifié des détails.

références :
http://webstandards.org/learn/tutorials/accessible-forms/02-accessible-forms.html
http://www.la-grange.net/w3c/html4.01/interact/forms.html

diff -u -r inc-formulaires.php3
--- inc-formulaires.php3 Thu Jul 15 10:27:16 2004
+++ inc-formulaires.php3 Thu Jul 15 16:32:26 2004
@@ -213,7 +213,7 @@
       $passw = test_pass();
   
       if ($refus == "oui") {
- $reponse_signature.= "<P><FONT COLOR='red'><B>"._T('form_pet_signature_pasprise')."</B></FONT><P>";
+ $reponse_signature.= "<p><font color='red'><b>"._T('form_pet_signature_pasprise')."</b></font><p>";
       }
       else {
         $query_site = "SELECT titre FROM spip_articles WHERE id_article=$id_article";
@@ -280,28 +280,28 @@

     $retour .= propre($texte_petition);

- $retour .= "<div><fieldset><p><b>"._T('form_pet_votre_nom')."</b><br />";
- $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_email\" value=\"\" size=\"20\" /></p>";
+ $retour .= "<div><fieldset><p><label><b>"._T('form_pet_votre_nom')."</b><br />";
+ $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_email\" value=\"\" size=\"20\" /></label></p>";

- $retour .= "<p><b>"._T('form_pet_votre_email')."</b><br />";
- $retour .= "<input type=\"text\" class=\"forml\" name=\"adresse_email\" value=\"\" size=\"20\" /></p></fieldset>";
+ $retour .= "<p><label><b>"._T('form_pet_votre_email')."</b><br />";
+ $retour .= "<input type=\"text\" class=\"forml\" name=\"adresse_email\" value=\"\" size=\"20\" /></label></p></fieldset>";

     $retour .= "<br /><fieldset><p>";
     if ($site_obli != "oui") {
- $retour .= _T('form_pet_votre_site')."<br />";
+ $retour .= "<legend>"._T('form_pet_votre_site')."</legend><br />";
     }
- $retour .= "<b>"._T('form_pet_nom_site2')."</b><br />";
- $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"20\" /></p>";
+ $retour .= "<label><b>"._T('form_pet_nom_site2')."</b><br />";
+ $retour .= "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"20\" /><label></p>";

- $retour .= "<p><b>"._T('form_pet_adresse_site')."</b><br />";
- $retour .= "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"http://\" size=\"20\" /></p></fieldset>";
+ $retour .= "<p><label><b>"._T('form_pet_adresse_site')."</b><br />";
+ $retour .= "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"http://\" size=\"20\" /><label></p></fieldset>";

     if ($message_petition == "oui") {
       $retour .= "<br /><fieldset>";

- $retour .= "<b>"._T('form_pet_message_commentaire')."</b><br />";
+ $retour .= "<label><b>"._T('form_pet_message_commentaire')."</b><br />";
       $retour .= "<textarea name=\"message\" rows=\"3\" class=\"forml\" cols=\"20\" wrap='soft'>";
- $retour .= "</textarea></fieldset>\n";
+ $retour .= "</textarea><label></fieldset>\n";
     }
     else {
       $retour .= "<input type=\"hidden\" name=\"message\" value=\"\" />";
@@ -395,10 +395,10 @@
     $url = $link->getUrl();
     $url = ereg_replace("\&", "&amp;", $url);
     echo "<form method='get' action='$url' style='border: 0px; margin: 0px;'>\n";
- echo "<div><b>"._T('form_pet_votre_nom')."</b></div>";
- echo "<div><input type=\"text\" class=\"forml\" name=\"nom_inscription\" value=\"\" size=\"30\" /></div>";
- echo "<div><b>"._T('form_pet_votre_email')."</b></div>";
- echo "<div><input type=\"text\" class=\"forml\" name=\"mail_inscription\" value=\"\" size=\"30\" /></div>";
+ echo "<div><label><b>"._T('form_pet_votre_nom')."</b><br />";
+ echo "<input type=\"text\" class=\"forml\" name=\"nom_inscription\" value=\"\" size=\"30\" /></label></div>";
+ echo "<div><label><b>"._T('form_pet_votre_email')."</b><br />";
+ echo "<input type=\"text\" class=\"forml\" name=\"mail_inscription\" value=\"\" size=\"30\" /></label></div>";
     echo "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('bouton_valider')."\" /></div>";
     echo "</form>";
   }
@@ -448,14 +448,14 @@
   else {
     $link = $GLOBALS['clean_link'];
     echo $link->getForm('POST');
- echo "<P><div class='spip_encadrer'><B>"._T('form_prop_nom_site')."</B><BR>";
- echo "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"nom_site\" VALUE=\"\" SIZE=\"30\">";
- echo "<P><B>"._T('form_prop_url_site')."</B><BR>";
- echo "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"url_site\" VALUE=\"\" SIZE=\"30\"></div>";
- echo "<P><B>"._T('form_prop_description')."</B><BR>";
- echo "<TEXTAREA NAME='description_site' ROWS='5' CLASS='forml' COLS='40' wrap=soft></textarea>";
- echo "<DIV ALIGN=\"right\"><INPUT TYPE=\"submit\" NAME=\"Valider\" CLASS=\"spip_bouton\" VALUE=\""._T('bouton_valider')."\">";
- echo "</DIV></FORM>";
+ echo "<div class='spip_encadrer'><p><label><b>"._T('form_prop_nom_site')."</b><br />";
+ echo "<input type=\"text\" class=\"forml\" name=\"nom_site\" value=\"\" size=\"30\"></label></p>";
+ echo "<p><label><b>"._T('form_prop_url_site')."</b><br />";
+ echo "<input type=\"text\" class=\"forml\" name=\"url_site\" value=\"\" size=\"30\"></label></p></div>";
+ echo "<p><label><label><b>"._T('form_prop_description')."</b><br />";
+ echo "<textarea name='description_site' rows='5' class='forml' cols='40' wrap='soft'></textarea></label></p>";
+ echo "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('bouton_valider')."\">";
+ echo "</div></form>";
     }
}

@@ -504,10 +504,10 @@
     $retour = $GLOBALS['REQUEST_URI'];
     $link = $GLOBALS['clean_link'];
     echo $link->getForm('post');
- echo "<div class='spip_encadrer'><b>"._T('form_pet_votre_email')."</b><br />";
- echo "<input type=\"text\" class=\"forml\" name=\"email_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['email_message_auteur'.$id_auteur])."\" SIZE=\"30\" />\n";
- echo "<p><b>"._T('form_prop_sujet')."</b><br />";
- echo "<input type=\"text\" class=\"forml\" name=\"sujet_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['sujet_message_auteur'.$id_auteur])."\" SIZE=\"30\" /></p>\n";
+ echo "<div class='spip_encadrer'><label><b>"._T('form_pet_votre_email')."</b><br />";
+ echo "<input type=\"text\" class=\"forml\" name=\"email_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['email_message_auteur'.$id_auteur])."\" size=\"30\" /></label>\n";
+ echo "<p><label><b>"._T('form_prop_sujet')."</b><br />";
+ echo "<input type=\"text\" class=\"forml\" name=\"sujet_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['sujet_message_auteur'.$id_auteur])."\" size=\"30\" /></label></p>\n";
     echo "<p><textarea name='texte_message_auteur$id_auteur' rows='10' class='forml' cols='40' wrap=soft>".entites_html($GLOBALS['texte_message_auteur'.$id_auteur])."</textarea></p>\n";
     echo "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('form_prop_envoyer')."\" /></div>";
     echo "</div></form>";
diff -u -r inc-forum.php3
--- inc-forum.php3 Thu Jul 15 10:27:16 2004
+++ inc-forum.php3 Thu Jul 15 16:55:12 2004
@@ -51,7 +51,7 @@
     $largeur = $taille[0];
     $hauteur = $taille[1];
     if ($largeur < 100 AND $hauteur < 100)
- return "<IMG SRC='$image' align='middle' WIDTH='$largeur' HEIGHT='$hauteur' HSPACE='1' VSPACE='1' ALT=' ' BORDER=0 class='spip_image'> ";
+ return "<img src='$image' align='middle' width='$largeur' height='$hauteur' hspace='1' vspace='1' alt='' border='0' class='spip_image'> ";
     else return "";
   } else {
     return "";
@@ -229,11 +229,11 @@
   $texte = entites_html($texte);

   if ($afficher_texte == "non"){
- $ret .= "\n<input type='hidden' name='titre' VALUE=\"$titre\" />";
+ $ret .= "\n<input type='hidden' name='titre' value=\"$titre\" />";
   }
   else {
- $ret .= "\n<div class='spip_encadrer'><b>"._T('forum_titre')."</b><br />";
- $ret .= "\n<input type='text' class='forml' name='titre' value=\"$titre\" size='40' /></div>";
+ $ret .= "\n<div class='spip_encadrer'><label><b>"._T('forum_titre')."</b><br />";
+ $ret .= "\n<input type='text' class='forml' name='titre' value=\"$titre\" size='40' /></label></div>";
   }

   $ret .= "\n<input type='hidden' name='id_message' value=\"$id_message\" />";
@@ -252,11 +252,11 @@
   if ($new == "oui") $ret .= "\n<input type='hidden' name='redac' value=\"oui\" />";

   if ($afficher_texte != "non"){
- $ret .= "\n<br /><div class='spip_encadrer'><b>"._T('forum_texte')."</b><br />\n";
+ $ret .= "\n<br /><div class='spip_encadrer'><label for='text'><b>"._T('forum_texte')."</b></label><br />\n";
     $ret .= _T('forum_creer_paragraphes');
     $ret .= "<br />\n";
     $ret .= afficher_barre('formulaire', 'texte', true);
- $ret .= "<textarea name='texte' ".afficher_claret()." rows='12' class='forml' cols='40'>";
+ $ret .= "<textarea name='texte' id='texte' ".afficher_claret()." rows='12' class='forml' cols='40'>";
     $ret.= $texte;
     $ret .= "\n</textarea></div>\n";
   }
@@ -333,25 +333,25 @@

   // Edition du texte du forum
   if ($afficher_texte != "non") {
- $ret .= "\n<br /><div class='spip_encadrer'>"._T('forum_lien_hyper')."<br />\n";
+ $ret .= "\n<br /><div class='spip_encadrer'><fieldset><legend>"._T('forum_lien_hyper')."</legend><br />\n";
     $ret .= _T('forum_page_url');
- $ret .= "<br />\n"._T('forum_titre');
- $ret .= "<br />\n<input type='text' class='forml' name='nom_site_forum' value=\"".entites_html($nom_site_forum)."\" size='40' /><br />";
+ $ret .= "<br /><label>\n"._T('forum_titre');
+ $ret .= "<br />\n<input type='text' class='forml' name='nom_site_forum' value=\"".entites_html($nom_site_forum)."\" size='40' /></label><br />";

     if (!$url_site) $url_site = "http://";
- $ret .= "\n"._T('forum_url');
- $ret .= "<br />\n<input type='text' class='forml' name='url_site' value=\"".entites_html($url_site)."\" size='40' /></div>";
+ $ret .= "\n<label>"._T('forum_url');
+ $ret .= "<br />\n<input type='text' class='forml' name='url_site' value=\"".entites_html($url_site)."\" size='40' /></label></fieldset></div>";

- $ret .= "\n<br /><div class='spip_encadrer'>"._T('forum_qui_etes_vous')."<br />";
+ $ret .= "\n<br /><div class='spip_encadrer'><fieldset><legend>"._T('forum_qui_etes_vous')."</legend><br />";

     if ($forums_publics == "abo")
       $disabled = ' disabled="disabled"';

- $ret .= "\n"._T('forum_votre_nom');
- $ret .= "<br />\n<input type='text' class='forml' name='auteur' value=\"".entites_html($auteur)."\" size='40'$disabled /><br />\n";
+ $ret .= "\n<label>"._T('forum_votre_nom');
+ $ret .= "<br />\n<input type='text' class='forml' name='auteur' value=\"".entites_html($auteur)."\" size='40'$disabled /></label><br />\n<label>";

     $ret .= _T('forum_votre_email');
- $ret .= "<br />\n<input type='text' class='forml' name='email_auteur' value=\"".entites_html($email_auteur)."\" size='40'$disabled /></div>";
+ $ret .= "<br />\n<input type='text' class='forml' name='email_auteur' value=\"".entites_html($email_auteur)."\" size='40'$disabled /></label></fieldset></div>";
   }

   // Bouton de validation
diff -u -r inc-login.php3
--- inc-login.php3 Thu Jul 15 10:27:16 2004
+++ inc-login.php3 Thu Jul 15 16:35:04 2004
@@ -187,15 +187,15 @@
       echo "<font face='Georgia, Garamond, Times, serif' size='3'>";
       echo _T('login_non_securise')." <a href=\"".$clean_link->getUrl()."\">"._T('login_recharger')."</a>.<p></font>\n";
     }
- echo "<label><b>"._T('login_login2')."</b><br></label>";
- echo "<input type='text' name='session_login' class='forml' value=\"$login\" size='40'>\n";
+ echo "<label><b>"._T('login_login2')."</b><br />";
+ echo "<input type='text' name='session_login' class='forml' value=\"$login\" size='40'></label>\n";
     if ($flag_challenge_md5) echo "</noscript>\n";

- echo "<br><br>\n<label><b>"._T('login_pass2')."</b><br></label>";
- echo "<input type='password' name='session_password' class='forml' value=\"\" size='40'>\n";
+ echo "<br><br>\n<label><b>"._T('login_pass2')."</b><br />";
+ echo "<input type='password' name='session_password' class='forml' value=\"\" size='40'></label>\n";
     echo "<input type='hidden' name='essai_login' value='oui'>\n";

- echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;<input type='checkbox' name='session_remember' value='oui' id='session_remember'$rester_checked> ";
+ echo "<br /><input type='checkbox' name='session_remember' value='oui' id='session_remember'$rester_checked> ";
     echo "<label for='session_remember'>"._T('login_rester_identifie')."</label>";

     $url = $cible->getUrl();
@@ -214,8 +214,8 @@
     echo "<form name='form_login' action='$action' method='post'>\n";
     echo "<div class='spip_encadrer'>";
     if ($erreur) echo "<span style='color:red;'><b>$erreur</b></span><p />";
- echo "<label><b>"._T('login_login2')."</b><br></label>";
- echo "<input type='text' name='var_login' class='forml' value=\"\" size='40' />\n";
+ echo "<label><b>"._T('login_login2')."</b><br>";
+ echo "<input type='text' name='var_login' class='forml' value=\"\" size='40' /></label>\n";

     echo "<input type='hidden' name='var_url' value='$url' />\n";
     echo "<div align='right'><input type='submit' class='spip_bouton' name='submit' value='"._T('bouton_valider')."' /></div>\n";
@@ -228,8 +228,8 @@

   if ($echec_cookie == "oui" AND $php_module AND !$ignore_auth_http) {
     echo "<form action='spip_cookie.php3' method='get'>";
- echo "<fieldset>\n<p>";
- echo _T('login_preferez_refuser')." \n";
+ echo "<fieldset>\n<p><legend>";
+ echo _T('login_preferez_refuser')." \n</legend>";
     echo "<input type='hidden' name='essai_auth_http' value='oui' /> ";
     $url = $cible->getUrl();
     echo "<input type='hidden' name='url' value='$url' />\n";