讲师中心 微信公众号
AI工具推荐 视频效率加速

无障碍 (a) 规则 - 3

星辰小哥_5672

星辰小哥_5672

发布时间:2024-11-17 08:12:26

|

789人浏览过

|

来源于dev.to

转载

图片

这不仅仅是向图像添加替代文本;远不止这些。

装饰图像

  • 如果图像没有添加额外的上下文或信息(装饰图像)来让用户更好地理解上下文,那么它应该对辅助技术 (at) 隐藏,例如屏幕阅读器。

  • 使用以下任何一种方法来隐藏 at 中的图像:

    • 空文本替代 (alt)
    • 应用 aria
    • 添加图像作为 css 背景
<!-- all of these choices lead to the same result. -->
<img src=".../ladybug.jpg" role="presentation">
<img src=".../ladybug.jpg" role="none">
<img src=".../ladybug.jpg" aria-hidden="true">
  • 如有疑问,请为图像添加描述。

空或 null alt

  • 不要将图像 alt 属性设置为“”,除非图像纯粹是装饰性的。
attribute example screen reader behavior use case
alt="" (empty) <img src="logo.png" alt=""> ignores the image completely decorative or non-informative images
missing alt <img src="photo.png"> may read the filename/url not recommended; implies negligence

信息丰富的图像

  • 如果图像传达概念、想法或情感,您应该包含描述图像用途的程序化替代文本。

  • 尽可能添加非常详细的图像描述。

例如

<img src=".../ladybug_swarm.jpg" alt="a swarm of red ladybugs is resting 
on the leaves of my prize rose bush.">

无障碍 (a) 规则 - 3

  • 如果图像是(内联),请添加 role="img"。

  • 由于元素不支持 alt 属性,请使用替代编码方法来提供描述。

method use case pros cons
<title> short, brief descriptions simple, widely supported limited in length
aria-label brief descriptions quick, inline best for short text
aria-labelledby complex descriptions using <title> and <desc> comprehensive, flexible more verbose
<figcaption> visible description in a figure context visible and accessible not ideal for all svgs

功能图像

  • 任何具有功能性目的的图像(例如,链接到主页的徽标、用作搜索按钮的放大镜图标)都应包含适当的替代文本。

  • 替代文本应描述图像的操作,而不是其视觉方面。

    Accessibility Review
    Accessibility Review

    对设计或页面进行 WCAG 2.1 AA 无障碍审计。触发关键词:“audit accessibility”、 “check a11y”、 “is this accessible?” 或在审查设计时使用。

    下载
  • 如果图像既提供信息又具有可操作性,您可以为每个元素添加替代描述 - 但这不是必需的。例如

<div title="navigate to the homepage">
   <a href="/">
      <img src=".../ladybug_logo.png" alt="lovely ladybugs for your lawn"/>
   </a>
</div>

复杂图像

  • 如果图像需要比装饰性、信息性或功能性图像更多的解释(包括信息图表、地图、图形/图表和复杂插图),请使用这些方法中的任何一种来添加替代描述

  • 链接到资源或提供跳转链接到页面稍后的较长说明。例如

<img src=".../ladybug_anatomy.svg" alt="diagram of the anatomy of a ladybug.">
<a href="ladybug-science.html">learn more about the anatomy of a ladybug</a>
  • 将 aria-scribedby 属性附加到 <img> 元素,然后将图像链接到包含较长描述的 id。例如
 <img src=".../ladybug_anatomy.svg" alt="diagram of the anatomy of a ladybug." 
 aria-describedby="description">
 <p id="description">in this course, you will learn more about the 
    anatomy of a ladybug, including the head, 
    antenna, eye, pronotum, elytra, leg, abdomen, and wing.
 </p>
  • 将简短的替代描述与较长的描述分组是使用 <figure> 和 <figcaption> 元素。例如
 <figure role="group">
      <img src=".../Ladybug_Anatomy.svg" alt="Diagram of the anatomy of a
      ladybug.">
      <br><br>
      <figcaption>
        <a href="ladybug-science.html">Learn more about the anatomy of a 
        ladybug</a>
      </figcaption>
  </figure>

替代文本最佳实践

  • 建议将替代文本限制在 150 个字符或更少,以避免读者疲劳。

  • 避免在说明中使用 “图像” 或 “照片” 等词语,因为屏幕阅读器会识别这些文件类型。

  • 命名图像时,尽可能保持一致和准确。当替代文本丢失或被忽略时,图像名称是后备。

  • 避免使用非字母字符(例如 #、9、&)

  • 在图像名称或替代文本中使用单词之间的破折号,而不是下划线。

  • 尽可能使用正确的标点符号。如果没有它,图像描述听起来就像是一个漫长的、永无休止的连续句子。

  • 像人类而不是机器人一样编写替代文本。关键字堆砌对任何人都没有好处——使用屏幕阅读器的人会感到恼火,搜索引擎算法会惩罚他们。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

549

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1678

2024.03.01

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5847

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2508

2023.08.10

length函数用法
length函数用法

length函数用于返回指定字符串的字符数或字节数。可以用于计算字符串的长度,以便在查询和处理字符串数据时进行操作和判断。 需要注意的是length函数计算的是字符串的字符数,而不是字节数。对于多字节字符集,一个字符可能由多个字节组成。因此,length函数在计算字符串长度时会将多字节字符作为一个字符来计算。更多关于length函数的用法,大家可以阅读本专题下面的文章。

1847

2023.09.19

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

5956

2023.08.14

什么是搜索引擎
什么是搜索引擎

搜索引擎是一种互联网工具,用于帮助用户在网上查找信息。搜索引擎的目标是提供最准确、最有价值的搜索结果,使用户能够快速找到所需的信息。本专题为大家提供搜索引擎相关的各种文章、以及下载和课程。

3353

2023.08.02

有哪些目录搜索引擎
有哪些目录搜索引擎

目录搜索引擎有Google、Bing、Yahoo、Baidu、DuckDuckGo等。想了解更多目录搜索引擎的相关内容,可以阅读本专题下面的文章。

26328

2023.11.06

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

80

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.5万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 6万人学习

CSS教程
CSS教程

共754课时 | 98万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn