首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >宣布隐形警报

宣布隐形警报
EN

Stack Overflow用户
提问于 2022-08-30 21:27:17
回答 2查看 38关注 0票数 0

是否有一种方法可以使用警报/状态角色宣布成功的消息,而不显示屏幕上为用户显示的任何内容?

我尝试动态创建一个警报div,但是用户可以看到屏幕上显示的成功文本。我需要它只是公布,不要给用户任何视觉反馈。

代码语言:javascript
复制
   var newAlert = document.createElement("div");
   newAlert.setAttribute("role", "alert");
   newAlert.setAttribute("id", "alert");
   var msg = document.createTextNode('You have Successfully updated your phone number');
   newAlert.appendChild(msg);
   document.body.appendChild(newAlert);
EN

回答 2

Stack Overflow用户

发布于 2022-08-31 04:08:37

您可以使用CSS将其隐藏在屏幕上,并使用离屏技术。

如果您使用的是引导程序,那么就会有一个.sr_only类执行此操作。否则,您可以很容易地找到相应的CSS代码。基本上看起来是这样的:

代码语言:javascript
复制
.sr_only {
  width: 1px;
  height: 1px;
  overflow: hidden;
  position: absolute;
  left: -2px;
  top: -2px;
}

不要使用display:none,可见性:隐藏或宽度/高度:0,因为这些也会隐藏屏幕阅读器的消息,因此不会发出警报。

请注意,您不能将消息隐藏在屏幕读取器的显示(称为虚拟缓冲区)中。如果要这样做,最好的方法是几秒钟后从DOM中删除元素。您必须等待足够长的时间才能完全说出消息,就像某些屏幕阅读器一样,当元素被移除时,会剪切语音。

票数 0
EN

Stack Overflow用户

发布于 2022-08-30 21:59:23

使用css

代码语言:javascript
复制
.alert{
 display: none;
}

代码语言:javascript
复制
.alert{
 z-index: -100;
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73548625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档