图标的可访问性

现代的辅助技术能够识别并朗读由 CSS 生成的内容和特定的 Unicode 字符。为了避免 屏幕识读设备抓取非故意的和可能产生混淆的输出内容(尤其是当图标纯粹作为装饰用途时),我们为这些图标设置了 aria-hidden="true"属性。

如果你使用图标是为了表达某些含义(不仅仅是为了装饰用),请确保你所要表达的意思能够通过被辅助设备识别,例如,包含额外的内容并通过 .sr-only 类让其在视觉上表现出隐藏的效果。

如果你所创建的组件不包含任何文本内容(例如, <button> 内只包含了一个图标),你应当提供其他的内容来表示这个控件的意图,这样就能让使用辅助设备的用户知道其作用了。这种情况下,你可以为控件添加 aria-label属相。

时间: 2024-09-28 16:06:35

图标的可访问性的相关文章

第13条:使类和成员的可访问性最小化

区别设计良好的模块和设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节.设计良好的模块会隐藏所有的实现细节,把它的API于它的实现清晰地隔离开来.然后,模块之间通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况,这个概念称为信息隐藏或封装.使类和成员的可访问性最小化可以有效的解除系统中各个模块的耦合度.实现每个模块的独立开发.使得系统更加的可维护,更加的健壮.对于顶层的(非嵌套的)类和接口,只有两种可能的访问级别,包级私有的和公有的

go:结构体的可访问性

1.要使某个符号对其他包( package)可见(即可以访问),需要将该符号定义为以大写字母开头------摘自go相关书籍2.go只限制包内外的可访问性,而不限制同包内不同文件的可访问性 本文讨论结构体三个部分的可访问性:结构体本身.结构体变量.结构体变量的成员变量 在讨论某一部分时,保证其它部分包外可访问. 1. 结构体本身   的可访问性 test1.go: package tt type Test struct { X int } main.go: package main import

13 使类和成员的可访问性最小化

要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节.设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰地隔离开来. 信息隐藏之所以非常重要有许多原因,其中大多数理由都源于这样一个事实:它可以有效的解除组成系统的各个模块之间的耦合关系,使得这些模块可以独立地开发.测试.优化.使用.理解和修改. 第一个规则很简单:尽可能地使每个类或者成员不被外界访问. 对于顶层的(非嵌套)的类和接口,只有两种可能的访问级别:包级私有的

web标准的可用性和可访问性

在Web前端开发界,有三个词经常被提及:可用性(Usability).可访问性(Accessibility)和可维护性(Maintainability). 可用性指的是:产品是否容易上手,用户能否完成任务,效率如何,以及这过程中用户的主观感受可好,是从用户的角度来看产品的质量.可用性好意味着产品质量高,是企业的核心竞争力. 可维护性一般包含两个层次,一是当系统出现问题时,快速定位并解决问题的成本,成本低则可维护性好.二是代码是否容易被人理解,是否容易修改和增强功能.可维护性和可复用性.可扩展性等

派生类到基类转换的可访问性

      从派生类到基类的转换的可访问性取决于派生类的派生列表中指定的访问标号. 要确定到基类的转换是否可访问,可以考虑基类的public成员是否可以访问, 如果可以,转换是可访问的,否则,转换是不可访问的. 如果是public继承,则用户代码和后代类都可以使用派生类到基类的转换: 如果是private或protected继承,则用户代码不能将派生对象类转换到基类对象: 注:如果是protected继承,则后续派生类的成员可以转换为基类类型.

Java访问性与包的讲解

一.Java中的访问控制 1.private修饰词,表示成员是私有的,只有自身可以访问: 2.protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员. 3.无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限: 4.public修饰词,表示成员是公开的,所有其他类都可以访问: 具体可见如下表: 表

Effective Item - 使可访问性最小化

模块设计是否良好,有个重要的因素在于,相对外部模块是否隐藏内部数据以及实现细节. 设计良好的模块会隐藏实现细节,并将API与其实现隔离开来. 模块之间通过API进行通信,对于内部工作情况互不可见. 即,封装(encapsulation)——软件设计的基本原则之一. 为什么要封装? 通过封装可以有效地接触各个模块之间的耦合关系,使这些模块可以独立地开发.测试.优化.使用.理解和修改. 即: 可以增加开发效率,模块可以并行开发. 封装可以减轻维护的负担,可以更有效的进行优化,且不会影响其他模块的正确

c++ 派生类向基类转换的可访问性

对于c++面向对象一直很疑惑,这次决定下功夫把它弄明白 一.派生类和基类之间的类型转换 首先理解,派生类含有基类的所有成分,只不过有些就算在派生类的成员函数也不能访问而已. (1)派生类和基类的自动转换只针对指针或引用类型. 只有指针和引用支持自动类型转换,同时,也只有指针和引用才可以静态类型和动态类型不同,这两个配合就完成了c++的最重要的多态. 派生类到基类的自动类型转换也不是都能随便转换的. 1.如果派生类以public继承基类,则是is a关系,用派生类可以完成基类的所有功能,所以可以在

使类和成员的可访问性最小化

本文涉及到的概念 1.使类和成员的可访问性最低的意义 2.类和成员的几种可访问性 3.其它注意事项 4.最后的原则 1.使类和成员的可访问性最低的意义 信息隐藏(information hiding),封装(encapsulation)的概念 一个模块对外部模块隐藏其内部数据和其他实现细节,也就是将它对外提供的API与它的实现细节清晰地隔离开来,它与其他模块的只通过API进行通信,其他模块不需要知道该模块内部的工作情况. 使用类和成员的可访问性最低的意义 a.可访问性越低,一个类对外暴露的信息就