Let's say I have a list of buttons that filter content by category
<nav>
<p>Please select your category:</p>
<ul>
<li>
<button>Cats</button>
</li>
<li>
<button>Dogs</button>
</li>
<li>
<button>Lizards</button>
</li>
<li>
<button>Chupacabras</button>
</li>
</ul>
</nav>
Is the <nav>
element the right component?
Should the <p>
be a heading instead?
I know that <input>
fields can be in a group inside <fieldset>
, with a <legend>
on top, but is this applicable to the above example?
Thanks
CodePudding user response:
You can use your code. But in my opinion you dont need to wrap in a nav tag. A div tag would be enough.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav
The HTML element represents a section of a page whose purpose is to provide navigation links, either within the current document or to other documents. Common examples of navigation sections are menus, tables of contents, and indexes.
<div >
<p>Please select your category:</p>
<ul>
<li>
<button>Cats</button>
</li>
<li>
<button>Dogs</button>
</li>
<li>
<button>Lizards</button>
</li>
<li>
<button>Chupacabras</button>
</li>
</ul>
</div>
CodePudding user response:
I think all of your code is the best possible since it's the conventional way to do it. The <nav>
element defines that a particular section is a navigation bar like it is in your code. The use of the <p>
tag is correct since there is no other element which can replace it. The <title>
tag is used only for defining the title of the page not for putting text on it. And you can use the <input>
tag inside your code but since you are using HTML 5, you should use <button>
instead.