目录
从纯文本开始:问题
使用CSS造型:有限的解决方案
语义HTML的力量

蝴蝶的研究" >,,,,

, 和

提供固有的含义。使用这些元素而不是通用

首页 web前端 css教程 为什么,如何以及何时使用语义HTML和ARIA

为什么,如何以及何时使用语义HTML和ARIA

Apr 21, 2025 am 09:33 AM

为什么,如何以及何时使用语义HTML和ARIA

语义HTML和可访问的丰富的Internet应用程序(ARIA)对于构建包容性和性能的Web界面至关重要。它们为内容提供了基本背景,使浏览器,搜索引擎,屏幕读取器和用户可以理解。尽管有好处,许多开发人员却忽略了他们。引用的一个常见原因是对他们的优势缺乏认识。

本文探讨了语义HTML和ARIA的好处,主张使用语义HTML的优先级,并且仅将ARIA用作最后的度假胜地。

从纯文本开始:问题

元素包含页面的主要内容。没有构造元素,浏览器无法区分标题和段落等内容类型的能力。考虑此示例:

 <code>A Study of Butterflies Butterflies are little bugs with cute wings. Butterfly Habitats Butterflies live in flower houses and hang out at dank coffeeshops.</code>
登录后复制

缺乏结构导致几个问题:

  • 无法样式的标题与段落不同。
  • 搜索引擎索引和可发现性受损。
  • 与辅助技术的内容沟通无效。
  • 视觉表现不佳。

添加基本​​结构<div>s<p>包装文字<code><div>元素提供了略有改进:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;code&gt;&lt;div&gt;蝴蝶的研究。&lt;/div&gt; &lt;div&gt;蝴蝶是带有可爱翅膀的小虫子。&lt;/div&gt; &lt;div&gt;蝴蝶栖息地&lt;/div&gt; &lt;div&gt;蝴蝶住在花房里,在潮湿的咖啡店闲逛。&lt;/div&gt;&lt;/code&gt;</pre><div class="contentsignin">登录后复制</div></div> <p>但是,这仍然缺乏语义含义。内容的类型对于辅助技术和搜索引擎仍然是模棱两可的。</p> <h3 id="使用CSS造型-有限的解决方案">使用CSS造型:有限的解决方案</h3> <p>CSS可以样式<code><div>使用类或ID的元素,增强视觉呈现。但是,这只会使视力用户受益,并且不能为其他技术提供语义含义。<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;code&gt;&lt;div class=&quot;heading1&quot;&gt;蝴蝶的研究&lt;/div&gt; &lt;div class=&quot;paragraph&quot;&gt;蝴蝶是带有可爱翅膀的小虫子。&lt;/div&gt; &lt;div class=&quot;heading2&quot;&gt;蝴蝶栖息地&lt;/div&gt; &lt;div class=&quot;paragraph&quot;&gt;蝴蝶住在花房里,在潮湿的咖啡店闲逛。&lt;/div&gt;&lt;/code&gt;</pre><div class="contentsignin">登录后复制</div></div> <p>这种方法是脆弱的,缺乏固有的语义含义。</p> <h3 id="语义HTML的力量">语义HTML的力量</h3> <p>语义html元素喜欢<code><h1 id="code-h-和-code-p-提供固有的含义-使用这些元素而不是通用-code-div-S优越-div-class-code-style-position-relative-padding-px-margin-px-pre-code-h-蝴蝶的研究">,,,,<code><h2> , 和<code><p>提供固有的含义。使用这些元素而不是通用<code><div>S优越:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;code&gt;&lt;h1&gt;蝴蝶的研究&lt;/h1&gt; &lt;p&gt;蝴蝶是带有可爱翅膀的小虫子。&lt;/p&gt; &lt;h2 id=&quot;蝴蝶栖息地&quot;&gt;蝴蝶栖息地&lt;/h2&gt; &lt;p&gt;蝴蝶住在花房里,在潮湿的咖啡店闲逛。&lt;/p&gt;&lt;/code&gt;</pre><div class="contentsignin">登录后复制</div></div> <p>这种方法提供了许多优势:</p> <ul> <li>默认的浏览器样式和改进的视觉呈现。</li> <li>增强的搜索引擎优化。</li> <li>通过辅助技术进行适当的解释。</li> <li>更清洁,更简洁的代码。</li> <li>与HTML处理器的未来防护兼容性。</li> </ul> <h3 id="语义HTML的进一步好处">语义HTML的进一步好处</h3> <p>语义HTML提供了其他好处。例如,使用<code><input type="tel">在移动设备上提供数字键盘。 Safari的读者模式之类的浏览器也受益于语义HTML,从而提供了更清洁的阅读体验。

ARIA:必要的补充

ARIA(可访问的互联网应用程序)补充语义HTML,改善了辅助技术的可访问性。这对于由JavaScript操纵的动态内容特别有用。

例如,使用ARIA将错误消息与表单字段相关联确保正确宣布错误:

 <code><label for="first-name">First name</label><input type="text" id="first-name" aria-describedby="first-name-error"> <span id="first-name-error" aria-live="assertive">This field is required</span></code>
登录后复制

避免滥用咏叹调

避免使用ARIA来补偿差的语义HTML至关重要。尝试使用使用的本机HTML元素(例如,复选框)<div> S和Aria比使用适当的本机元素过于复杂且可靠。<h3 id="结论">结论</h3> <p>包容性设计优先考虑所有用户的可访问性。语义HTML是基础,提供了固有的含义并改善了各种技术的用户体验。应明智地使用ARIA来补充语义HTML,以应对动态接口中的特定可访问性挑战,但绝不是替代适当的语义标记。优先考虑语义HTML是创建真正包容性网络体验的最有效,最可靠的途径。</p> </div>

以上是为什么,如何以及何时使用语义HTML和ARIA的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1653
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1251
29
C# 教程
1224
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

如何通过CSS选择第一个类名为item的子元素? 如何通过CSS选择第一个类名为item的子元素? Apr 05, 2025 pm 11:24 PM

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? 在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? Apr 05, 2025 pm 10:21 PM

在前端开发中如何实现类似Windows...

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

See all articles