Blocked aria-hidden on an element because its descendant retained focus.

article/2025/6/8 5:35:22

       问题出在 Element UI 的 el-table 组件 全选功能上,这是一个常见的无障碍(a11y)问题。这个错误提示与网页 accessibility(无障碍访问)相关,涉及 aria-hidden 属性的不当使用。

问题原因分析

1. Element UI 全选功能的结构问题
  • el-table 的全选功能通常由表头中的一个复选框触发,其结构可能类似:
    <el-table><el-table-column type="selection"></el-table-column> <!-- 全选/单选列 -->
    </el-table>
    
  • 当你点击全选时,组件内部可能错误地将 aria-hidden 应用于包含复选框的元素,导致:
    • 复选框(可聚焦元素)被 aria-hidden 隐藏。
    • 辅助技术(如屏幕阅读器)无法感知焦点变化。
2. Vue 组件渲染与 ARIA 冲突
  • Element UI 是 Vue 组件库,动态渲染时可能错误处理 ARIA 属性。
  • 例如,某些状态下(如全选后),组件可能添加了 aria-hidden="true" 到不该添加的元素上。

临时解决方案(生产环境快速修复)

使用指令强制修改 DOM
  • 创建自定义指令,在组件渲染后移除错误的 aria-hidden

    javascript

    // main.js
    Vue.directive('fix-aria-hidden', {inserted(el) {const checkboxes = el.querySelectorAll('input[type="checkbox"]');checkboxes.forEach(checkbox => {if (checkbox.closest('[aria-hidden="true"]')) {checkbox.closest('[aria-hidden="true"]').removeAttribute('aria-hidden');}});}
    });
    

    vue

    <!-- 使用指令 -->
    <el-table v-fix-aria-hidden><!-- 表格内容 -->
    </el-table>
    

四、验证修复效果

总结

  • 核心问题:Element UI 的 el-table 全选功能在某些场景下错误应用 aria-hidden 导致焦点冲突。
  • 推荐方案:优先升级组件版本,若问题仍存在则通过自定义表头或 CSS 修复。
  • 长期建议:向 Element UI 官方提交 issue,推动修复原生组件的无障碍问题。

http://www.hkcw.cn/article/yjIVmDHmil.shtml

相关文章

2025 年人脸识别技术应用备案政策已落地

在 AI 技术深度渗透的当下&#xff0c;人脸识别作为重要的生物识别技术&#xff0c;已广泛应用于安防、金融、零售等多领域。但随之而来的个人信息安全风险也备受关注。2025 年 6 月 1 日起《人脸识别技术应用安全管理办法》正式实施&#xff0c;企业需重视人脸识别技术应用备案…

01电气设计-380V强电部分设计

目标&#xff1a;在电气设计过程中380V的强电部分&#xff0c;一般来自与工厂&#xff0c;一般为3相5线制的380V&#xff0c;下面的应用场景是当我的用电设备&#xff08;电机&#xff0c;冷水机&#xff0c;控制器&#xff0c;驱动器&#xff0c;激光器等等&#xff09;总功率…

文件批量重命名

mv只支持单个文件命名 批量重命名用rename 例子&#xff1a; #touch命令批量创建空文件&#xff0c;文件10-15 touch file{10..15}.txt批量重命名 # 批量重命名&#xff0c;file10-15重命名为test10-15 #这里file1? 匹配的是单个字符。比如10,11等 rename file1 test1 file1…

ES的开始

ES作用 在海量数据中&#xff0c;执行搜索功能&#xff0c;使用mysql&#xff0c;效率过低&#xff0c; 如果关键字输入不准确&#xff0c;一样可以搜索到想要的数据 讲搜索关键字&#xff0c;以红色字体展示 ES介绍 ES是基于java语言并且基于Lucene编写的搜索引擎框架&#x…

【论文解读】ReAct:从思考脱离行动, 到行动反馈思考

认识从实践开始&#xff0c;经过实践得到了理论的认识&#xff0c;还须再回到实践去。 ——《实践论》,毛泽东 1st author: About – Shunyu Yao – 姚顺雨 paper [2210.03629] ReAct: Synergizing Reasoning and Acting in Language ModelsReAct: Synergizing Reasoning and…

AXURE-动态面板

1.概述 动态面板原件&#xff0c;容器类的原件一个动态面板可以有多种状态 同一时刻只展示一个状态 默认展示第一个状态 主要用于多个状态的切换可拖动 1.1 创建 将原件库中的“动态面板”原件&#xff0c;直接拖动到工作区中&#xff0c;创建空白动态面板将页面中原件选中…

AI地面垃圾检测算法智能分析网关V4打造城市/公园/校园等场景环保卫生监管解决方案

一、方案背景​ 在城市管理与场所运营中&#xff0c;地面垃圾的及时清理是环境品质的重要指标。传统人工巡检效率低、成本高&#xff0c;存在明显滞后性&#xff0c;难以满足现代环境管理需求。随着人工智能与计算机视觉技术发展&#xff0c;智能化管理成为趋势。AI智能分析网…

帝国CMS QQ登录插件最新版 获取QQ头像和QQ昵称

帝国CMS QQ登录插件最新版 获取QQ头像和QQ昵称 QQ一键登录&#xff0c;免邮箱 随机密码 获取QQ头像 获取QQ昵称 直接下载上传到帝国CMS&#xff1a;/e/memberconnect UTF-8版本 GBK的自己转换 QQ登录后的默认密码 是随机的邮箱账号前面的随机6个字母和数字 【下图字母数…

Kafka 的优势是什么?

Kafka 作为分布式流处理平台的核心组件&#xff0c;其设计哲学围绕高吞吐、低延迟、高可扩展性展开&#xff0c;在实时数据管道和大数据生态中具有不可替代的地位。 一、超高吞吐量与低延迟 1. 磁盘顺序 I/O 优化 突破磁盘瓶颈&#xff1a;Kafka 将消息持久化到磁盘&#xff…

低谷才是出成绩

有些朋友说我现在是高光&#xff0c;其实不然 之所以有这样的误解&#xff0c;是我个人的简历上是不断增加名誉。这点属实&#xff0c;看看我的词条&#xff1a;https://www.modb.pro/wiki/4245的确如此。但是其实也有误会。事情可以反过来看。因为&#xff0c;如果做技术的在…

Bash shell四则运算

文章目录 四则运算1. ‌expr 命令‌2. ‌$(( )) 表达式&#xff08;推荐&#xff09;‌3. ‌$[ ] 表达式&#xff08;已弃用&#xff09;‌4. ‌let 命令‌小数运算i 和 i 区别 四则运算 算术运算&#xff1a; - * / %&#xff08;取模&#xff0c;求余数&#xff09; Bash sh…

Windows + CPU也能跑时序预测:TSLib框架快速上手与踩坑避雷

在时序预测领域,选择一个成熟的框架往往能让我们事半功倍。最近接手了一个紧急的时序预测项目,经过一番调研后,我选择了TSLib(Time-Series-Library)这个优秀的开源框架来快速搭建整个预测流程。 由于开发环境限制在Windows平台且没有GPU支持,整个部署过程还是遇到了一些…

多模态大语言模型arxiv论文略读(105)

UnifiedMLLM: Enabling Unified Representation for Multi-modal Multi-tasks With Large Language Model ➡️ 论文标题&#xff1a;UnifiedMLLM: Enabling Unified Representation for Multi-modal Multi-tasks With Large Language Model ➡️ 论文作者&#xff1a;Zhaowei…

set map数据结构

#include <set> #include <iostream> using namespace std;int main() {// 设置控制台输出编码为UTF-8system("chcp 65001");set<int> s1; // 创建一个整数集合// 插入元素s1.insert(5);s1.insert(3);s1.insert(7);s1.insert(1);s1.insert(9);//默…

云开发实现新闻列表小程序

新闻列表小程序需要两个页面即新闻列表页及新闻发布页&#xff0c;这两个页面需要以tabBar的形式展示&#xff0c;单击tab图标可以进行页面相互切换。本项目中是分别在cloudfunctions中创建一个名为“submit”的云函数&#xff0c;功能为向小程序端发布信息&#xff0c;在pages…

《C++ Core Guidelines解析》深入理解C++

前言 在计算机编程领域&#xff0c;C一直以其高效、灵活和强大而闻名。然而&#xff0c;C作为一种复杂的编程语言&#xff0c;如果没有正确的理解和使用&#xff0c;很容易导致软件质量的下降和性能问题的出现。幸运的是&#xff0c;一本名为《CCore Guidelines解析》的书籍为…

报错:Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes beca

问题描述&#xff1a;运行单元测试时&#xff0c;报这个警告&#xff1a;Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes beca 操作步骤如下&#xff1a; 将原来的&#xff1a;-ea 修改为 -ea -Xshare:off 重新启动单元测试&a…

万字详解CSS动画核心——@keyframes,看完就会做动画!

新手福利 -- 还在为CSS动画发愁&#xff1f;一篇搞定keyframes所有知识点&#xff01; 一、什么是keyframes&#xff1f; ‌简单说‌&#xff1a;keyframes 是CSS3的 ‌动画关键帧规则‌&#xff0c;就像导演给动画片分镜头一样&#xff0c;你可以定义动画在不同时间点的样式…

【氮化镓】GaN HMETs器件物理失效分析进展

2021 年 5 月,南京大学的蔡晓龙等人在《Journal of Semiconductors》期刊发表了题为《Recent progress of physical failure analysis of GaN HEMTs》的文章,基于多种物理表征技术及大量研究成果,对 GaN HEMTs 的常见失效机制进行了系统分析。文中先介绍失效分析流程,包括使…

工业智能网关保障冷冻仓储设备无人值守安全运行

一、项目背景 冷链物流行业在近年来发展迅速&#xff0c;冷库作为其中的关键环节&#xff0c;其制冷设备的稳定运行至关重要。传统的冷库制冷设备监控方式存在诸多弊端&#xff0c;如需要人工现场巡检&#xff0c;不仅效率低下&#xff0c;且难以及时发现问题&#xff1b;数据…