Blocked aria-hidden on a <input> element because the element that just received focus must not be...

xiao_ju_ju 2024-08-16 10:33:02 阅读 61

1,我们使用element-ui的单选框radio,点击的时候报错如下图的错,究其原因是访问ibility问题:这个错误可能是因为HTML元素<code><input>上的aria-hidden属性被错误地使用了。aria-hidden属性是一个用于指示元素是否对屏幕阅读器等辅助技术隐藏的属性。如果一个<input>元素被设置为aria-hidden="true"code>,这可能违反了无障碍性web的最佳实践,因为屏幕阅读器用户依赖这类元素来理解应用的结构和内容

2.解决方案一(生命周期里面修改)

<code><el-radio-group

v-model="formData.dimension"code>

@input="changeHandle"code>

ref="radio"code>

>

<el-radio :label="1">同一报告</el-radio>code>

<el-radio :label="2">同一就诊</el-radio>code>

<el-radio :label="3">同一患者</el-radio>code>

</el-radio-group>

mounted() {

this.$refs.radio.$children.forEach((item) => {

item.$refs.radio.removeAttribute("aria-hidden");

});

}

3.解决方案二(注册指令)

export default {

bind(el, binding) {

// 获取节点

let ariaEls = el.querySelectorAll(".el-radio__original");

ariaEls.forEach((item) => {

item.removeAttribute("aria-hidden");

});

}

};

import Vue from "vue";

import removeAria from "./moudle/removeAria";

//全局注册

Vue.directive("removeAria", removeAria);

Vue.use(rightmenu);

<!--使用指令-->

<el-radio-group

v-model="formData.radio"code>

@input="changeHandle"code>

ref="radio2"code>

v-removeAria

>

<el-radio :label="'1'"> 条件树设置 </el-radio>code>

<el-radio :label="'2'"> 满足所有变量 </el-radio>code>

<el-radio :label="'3'"> 满足任意变量 </el-radio>code>

</el-radio-group>



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。