254 votes

Est une balise d’ancrage sans l’attribut href sécuritaire ?

Est-ce OK utiliser une balise d’ancrage sans y compris l’attribut href et au lieu d’utiliser un événement onclick de JavaScript ? J’ai serait omettre la balise href complètement, même pas eu `` .

237voto

dthrasher Points 10641

En HTML5, à l'aide d'un a élément sans href attribut est valide. Il est considéré comme un "espace réservé lien hypertexte."

Exemple:

<a>prev</a>

Recherchez "espace réservé lien hypertexte" sur le w3c balise d'ancrage de référence de la page: http://www.w3.org/TR/html-markup/a.html#placeholder-hyperlink.

Voir aussi:

37voto

Gunnar Hoffman Points 866

C’est OK, mais en même temps peut causer certains navigateurs devenir lent.

http://webdesignfan.com/YSlow-Tutorial-part-2-of-3-Reducing-Server-Calls/

Mon Conseil est d’utiliser

Si vous utilisez JQuery n’oubliez pas d’utiliser également :

24voto

Quentin Points 325526

Réponse courte: Non.

Réponse longue:

Tout d'abord, sans un attribut href, il ne sera pas un lien. Si ce n'est pas un lien, puis il ne sera pas de clavier (ou le souffle de l'interrupteur, ou divers autres pas de pointeur de fonction d'entrée de l'appareil) accessible (sauf si vous utilisez des fonctions HTML 5 de l' tabindex qui ne sont pas universellement pris en charge). Il est très rare qu'il est approprié pour un contrôle de ne pas avoir accès au clavier.

De seconde en seconde. Vous devriez avoir une solution de rechange pour quand le JavaScript ne s'exécute pas (parce qu'il était lent à charger à partir du serveur, une connexion à Internet a été abandonné (par ex. signal de téléphonie mobile sur un train en mouvement), le JS est désactivé, etc, etc).

Faire usage de l'amélioration progressive, par discrète JS.

13voto

monokrome Points 721

La balise est bien d'utiliser sans un attribut href. Contrairement à beaucoup de réponses ici, il y a effectivement des raisons de norme pour la création d'un point d'ancrage quand il n'y a pas de href. Du point de vue sémantique, "un" moyen d'une ancre ou d'un lien. Si vous l'utilisez pour tout ce qui suit que les sens, alors vous êtes très bien.

Une utilisation standard de l'une balise sans un href consiste à créer nommé liens. Cela vous permet d'utiliser un point d'ancrage avec le nom=blah et plus tard, vous pouvez créer un point d'ancrage href=#bla lien vers la section de la page en cours. Toutefois, cela a été abandonné parce que vous pouvez également utiliser l'Id de la même manière. Comme un exemple, vous pourriez utiliser une balise d'en-tête avec l'id=en-tête et plus tard, vous pourriez avoir une ancre pointant vers href=#en-tête.

Mon point de vue, cependant, est de ne pas vous suggérons d'utiliser le nom de la propriété. Seulement de fournir un cas d'utilisation où vous n'avez pas besoin d'un href, et donc la raison pour laquelle il n'est pas nécessaire.

8voto

Jon Points 61

Le `` tag sans l’attribut « href » peut être pratique lorsque vous utilisez des menus multi-niveaux et vous avez besoin d’élargir le prochain niveau, mais ne veux pas cette étiquette de menu d’être un lien actif. Je n’ai jamais eu des problèmes à l’aide de cette façon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X