5568 sujets

Sémantique web et HTML

Bonjour,

J’ai regardé plusieurs tutos pour savoir comment faire un formulaire de contact et sur la plupart des vidéos que j’ai pu regardé on n’utilise pas la balise <form>. A la place une <div> est utilisée.
Je voulais savoir si la balise <form> est indispensable pour un formulaire de contact ou on peut tout à fait lier un fichier php pour rendre actif le formulaire directement sur une <div> ? (De la manière suivante ):

<div class="contact-form" action="contactform.php" method="post"></div>


Y’a t’il une différence au niveau de la mise en page d’une balise <form> comparée à une <div> en CSS ce qui justifierait que sur les tutos on utilise une <div> étant donné que le but est simplement de proposer une idée de mise en page du formulaire et non de le rendre actif ?

Merci d’avance,
Julien
Modifié par julien_dgvn (20 Apr 2020 - 23:12)
Bonjour,

Sémantiquement parlant, il est vrai qu'il est recommandé de mettre la balise form, même si cela n'est plus obligatoire.
Si dans beaucoup de tutos et développement on n'en met plus, c'est parce que le form fait une redirection avec la propriété action, ce qui pose problème si on fait de la validation en js.
Niveau style, cela n'aura aucun impact sauf si évidement des propriétés spécifiques sont mise sur la balise form

Bien à vous
Modérateur
Gus a écrit :
Bonjour,

Sémantiquement parlant, il est vrai qu'il est recommandé de mettre la balise form, même si cela n'est plus obligatoire.
Si dans beaucoup de tutos et développement on n'en met plus, c'est parce que le form fait une redirection avec la propriété action, ce qui pose problème si on fait de la validation en js.
Niveau style, cela n'aura aucun impact sauf si évidement des propriétés spécifiques sont mise sur la balise form

Bien à vous


Non et ce que tu dis, c'est tout simplement mauvaise pratique....

L'élément <form>, c'est recommandé (le w3c, la mdn et même par les gouvernements) On suit les standards de développement ou pas. Dans le cas on ne les suit pas, il y a de fortes chances de rencontrer des problèmes de comportements. Faire référence à des tutos pour une bonne pratique, c'est pas toujours le cas. Nombre de fois où j'ai vu des tutos qui n'indiquaient pas les bonnes pratiques de bases. La plupart du temps, c'est pour passer à l'essentiel du sujet traité et aussi une méconnaissance du sujet. La documentation officielle est largement supérieur à n'importe quel tuto dans la grande majorité du temps. Mieux vaut avoir à faire au bon dieu qu'à ses saints, n'est ce pas ?

Depuis, html5 l'attribut action n'est pas obligatoire sur l'élément <form>. En ce qui concerne la validation d'un formulaire en front, c'est toujours possible. C'est une méconnaissance du sujet. Pour la redirection, c'est pareil : c'est un souci de connaissance du sujet.

Enlever l'élément <form>, bonne chance pour soumettre ce dernier au clavier ou avec d'autres périphériques. J'imagine le script js (avec sa super boucle) pour rendre la possibilité de soumettre plusieurs champs (mais pas tous les champs (csrf par exemple)) au clavier ou autres devices alors qu'il suffit simplement d'entourer la liste de tous les champs d'un <form>. Ça me rappel l'annulation de la saisie des champs d'ailleurs (j'ai vu du n'importe quoi).

Pour étayer mes propos :
- Les documents de référence du s.i. de l'État - accessibilité numérique
- HTML sémantique
- HTML : une bonne base pour l'accessibilité
- Utilisation des formulaires (bien que l'article parle d'XHTML, la base de la doc est très bonne)
- <form>
- feature/comportement insoupçonné de l'élément <form>
Modifié par niuxe (21 Apr 2020 - 15:29)