我有一个单选按钮列表,我知道根据W3C 标准,所有<form>控件都应该有与之关联的标签。我是这样做的:
<label class="radio-inline">
<input id="foo1" name="gender" value="M" type="radio"> Male
</label>
<label class="radio-inline">
<input id="foo2" name="gender" value="F" type="radio"> Female
</label>
Run Code Online (Sandbox Code Playgroud)
但是,我还希望有一个“标签”,告诉用户这两个单选按钮用于该gender字段。我知道这<label>不是一个选项,因为一个<label>仅与一个表单控件相关联。我搜索了一下,发现使用<fieldset>and<legend>是要走的路:
<fieldset class="form-group">
<legend class="legend-label">Gender</legend>
<label class="radio-inline">
<input id="foo1" name="gender" value="M" type="radio"> Male
</label>
<label class="radio-inline">
<input id="foo2" name="gender" value="F" type="radio"> Female
</label>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
我使用 CSS 将legend.legend-label要显示的样式设置为标签:
<label class="radio-inline">
<input id="foo1" name="gender" value="M" type="radio"> Male
</label>
<label class="radio-inline">
<input id="foo2" name="gender" value="F" type="radio"> Female …Run Code Online (Sandbox Code Playgroud) 每页使用多个 h1 标签真的那么糟糕吗?如果使用hgroup,article,header,footer,section标签为页面赋予语义含义?发现了很多讨论,但没有一个明确回答这个问题。
menu 元素具有相应的 menuitem 子元素。
nav 的子元素合适的 html 标记是什么?这些子元素对应的 Aria 角色是什么?
我阅读了规范,查看了 MDN,还阅读了一些教程。
我知道导航链接最好包装在导航容器中。我正在努力理解标记导航项目本身的最简单的方法。
我正在阅读文档,但我仍然不明白该<main>元素是否可以嵌套在其他元素中,例如
<div>
<div>
<main>...</main>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
或者它必须是身体的直接后代,例如
<body>
<main>...</main>
</body>
Run Code Online (Sandbox Code Playgroud)
我见过的所有例子都将 main 显示为 body 的直接后代......
所以我有点困惑:将 main 放在 body 之外的其他元素中是否正确?(当然只用一次)
标签代表用户界面中的标题。标题可以与特定的表单控件(称为标签元素的带标签控件)相关联,可以使用 for 属性,也可以将表单控件放在标签元素本身内。
因此,将其放入带有单选按钮的上下文中。在一个要求您在表单中选择最喜欢的水果的示例中,如果我说标签“Apple”是其<label>单选按钮,为了使标签可点击,我会将单选控件放在里面,例如:
<label>
<input type="radio" name="fruit" value="apple"/> Apple
</label>
Run Code Online (Sandbox Code Playgroud)
由于<label>示例中的元素也显示为整个输入值的标签,因此这显示了我的问题“您最喜欢的水果?” 进入标签,从而使整个部分充满标签?
<label>Your favourite fruit?</label>
<label>
<input type="radio" name="fruit" value="apple"/> Apple
</label>
<label>
<input type="radio" name="fruit" value="banana"/> Banana
</label>
<label>
<input type="radio" name="fruit" value="watermelon"/> Watermelon
</label>
Run Code Online (Sandbox Code Playgroud)
那是对的吗?
然后,在他们的示例中,for第一个<label>包含问题的属性也指的是id元素的 。但我不能这样做,因为我有 3 个元素,所以这意味着我不可能使用该for属性?
为了在我正在工作的一个特定设计中创建一个分隔符,我需要在多个元素组之间进行分隔.我只有两个选项:要么我可以在里面包装元素(内部元素的高度不相同)<div>,要么我可以使用<hr>.
如果我使用额外的div,它将只是一个分隔符.
哪个更语义,一个额外div或hr?
我不是ASP.net的新手.实际上,我甚至都没有学习它.但是,我最近评估了一些网站,看到<form runat="server" ..>包装整个页面并包含所有其他标签的可怕内容.问题:这是有效的HTML吗?它是2012年,关于语义Web,可访问Web等的讨论很热门.你怎么看呢?
我有一个博客摘录列表,可以调用每个article或者我应该使用列表和div吗?
<article class="post-excerpt body-font">
<header>
<h2 class="entry-title"><a href="post.html">At Day's End</a></h2>
<p><time datetime="2010-03-04T16:31:24+02:00">March 2010</time> ⋅ This post is about <a href="#">Poetry</a>, <a href="#">Creativity</a> and <a href="#">Myself</a></p>
</header>
<div class="content">
<p>And at day's end,<br />
Laying on my back.</p>
</div>
<footer>
<p><a href="post.html">Read more ⇒</a></p>
</footer>
</article>
Run Code Online (Sandbox Code Playgroud) 我应该如何编写导航栏,并考虑到语义?
我被建议将所有内容嵌套header,然后嵌入链接nav,但我不认为这是正确的方法.
<header>
<h3>Developer's Blog</h3>
<nav>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Press</a>
</nav>
</header>
Run Code Online (Sandbox Code Playgroud)
要么
<nav>
<h3>Developer's Blog</h3>
<div>
<a href="#">About</a>
<a href="#">Contact</a>
<a href="#">Press</a>
</div>
</nav>
Run Code Online (Sandbox Code Playgroud)
哪一个是正确的?
semantic-markup ×10
html ×7
html5 ×3
xhtml ×2
asp.net ×1
css ×1
forms ×1
nav ×1
navbar ×1
radio-button ×1
runatserver ×1
semantic-web ×1
semantics ×1
w3c ×1
wai-aria ×1
web-frontend ×1