#invalid href attributehref should not be empty, '#', or javascript:.
11 messages · Page 1 of 1 (latest)
Hi @delicate schooner. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
Astro (and Starlight) require that the href attribute on link elements (such as <a>, <LinkButton>, or <LinkCard>) must not be empty, set to '#', or use javascript:. The href should always point to a valid URL or path. This is to ensure accessibility, proper navigation, and to avoid security issues.
For example, when using Starlight’s <LinkButton> or <LinkCard>, the href prop is required and must be a valid URL:
<LinkButton href="/getting-started/">Get started</LinkButton>
<LinkCard title="Authoring Markdown" href="/guides/authoring-content/" />
If you provide an empty string, '#', or javascript:, it will be considered invalid and may result in errors or warnings during build or runtime. Always use a meaningful and valid URL for navigation components in Astro and Starlight Link Buttons Link Cards.
If you need a non-navigating element, consider using a <button> or another semantic element instead of a link.
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
@delicate schooner Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@cunning heron mais c un lien qui permt juste d'ouvre un sous menu au survol et qui a aucune autre actio au clique
Let me check the knowledge base for you again. One moment! :books:
Dans les sources fournies, il n’y a pas d’information spécifique sur la gestion des liens qui servent uniquement à ouvrir un sous-menu au survol, sans action au clic, dans Astro ou Starlight. Cependant, il est clairement indiqué que l’attribut href d’un lien ne doit pas être vide, égal à '#', ou commencer par javascript: car cela est considéré comme invalide et peut causer des erreurs ou avertissements Link Buttons.
Si votre élément ne doit pas naviguer, les sources ne proposent pas de solution officielle pour ce cas précis. Il n’est pas recommandé d’utiliser un <a> sans href valide. À la place, il serait préférable d’utiliser un élément <button> ou un autre élément sémantique pour ouvrir un sous-menu, afin de respecter l’accessibilité et les bonnes pratiques.
Je suis désolé, mais les sources ne donnent pas d’exemple ou de recommandation spécifique pour ce cas d’usage.
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
@delicate schooner Kapa.ai is still learning and improving, please let me know how I did by reacting below.
@cunning heron a part buton ya quoi
Let me check the knowledge base for you again. One moment! :books:
D’après les sources fournies, il n’existe pas d’alternative explicitement recommandée à <button> pour un élément qui sert uniquement à ouvrir un sous-menu sans navigation, en dehors de l’utilisation d’un <a> avec un href valide (ce qui n’est pas adapté à ton cas) Link Buttons.
Les sources insistent sur le fait que l’attribut href d’un lien ne doit pas être vide, '#', ou javascript:. Si tu ne veux pas utiliser <button>, les sources ne proposent pas d’autre élément sémantique ou de solution spécifique pour ce besoin.
En résumé :
<a>nécessite unhrefvalide.<button>est l’alternative recommandée pour une action sans navigation.