我正在使用JAWS读取ARIA-LABEL复选框。 该复选框的不透明度为0.基本上,我们显示的是另一个标签,而不是复选框,以获得复选框的自定义外观。我们捕获点击隐藏复选框并显示标签,将其显示为填充颜色的复选框,一个检查的符号。当我们点击复选框与它后面的比较标签一起ARIA -LABEL不能使用复选框
点击被捕获。(捕捉的跨度click事件,其中有复选框和标签两者)
JAWS无法读取ARIA “-LABEL =”选择将项目添加到比较列表“
我不确定将放置此标签以便读取JAWS的正确位置是什么。
<span class="newCheckbox" tabindex="0" (keyup)="OnPressCompareClick(productDetails?.Id,$event)">
<input type="checkbox" [value]="compareListCount" [checked]="isAddedInCompare(productDetails?.Id)" (change)="OnChangeUpdateProductCompareList(productDetails?.Id, $event)" (click)="onCompareClick($event)"
style="display:block;margin-top:14px;position:absolute;" role="checkbox"
id="chkAddCompare" >
<label aria-label="Select to add the item to comparison list" class="compare-defaultFont" attr.for="Compare{{i}}" > Compare</label>
</span>
.newCheckbox input[type=checkbox] {
display: none;
opacity: 0;
}
.newCheckbox label:before {
content: "";
text-shadow: 0px 0px 0px #fff;
color: #fff;
width: 14px;
height: 14px;
border: 1px solid #0075d5;
background-color: #fff;
border-radius: 0px;
font-weight: 400 !important;
font-family: 'Segoe UI Light', Tahoma, Geneva, Verdana, sans-serif !important;
color: #555;
font-size: 14px !important;
display: inline-block;
vertical-align: -2px;
}
input[type=checkbox]:checked + label:before {
content: "\2713";
text-shadow: 0px 0px 0px #fff;
font-size: 14px;
color: #fff;
text-align: left;
width: 14px;
height: 14px;
line-height: 15px;
border: 1px solid #0075d5;
background-color: #0075d5;
vertical-align: -2px;
}
我正在使用Angular 2 – namrata
@namrata我认为我的答案仍然可以,然后(纠正一个错字:咏叹调标签必须在控件上) – Adam