如何解决键盘输入时专注于下一个链接显示更多
我正在研究可访问性,并有一组显示更多的链接。如果用户在 show more 时按下 Enter 键,那么我希望聚焦下一个链接。以下是我正在处理的代码:
<ng-container *ngFor="let categoryItem of category.links; let j = index;">
<li *ngIf="j <= 2">
<a href="{{ categoryItem.url }}" target="_blank">{{ categoryItem.name }}</a>
</li>
<a *ngIf="j === 3 && category.links.length > 3" class="links-toggle" href="javascript:void(0);"
(click)="toggle[i] = !toggle[i]" [attr.aria-expanded]="toggle[i]"
[attr.aria-controls]="'show-more-links-panel-' + i"
attr.aria-label="Press space or enter to access more {{ category.title }} links">
<i class="wdsk-icon wdsk-icon-toggle"></i>
<a *ngIf="!toggle[i]" aria-label="Show More"
class="link-toggle-label">{{ 'USEFUL_LINKS.SHOW_MORE' | translate }}</a>
<a *ngIf="toggle[i]" aria-label="Show Less"
class="link-toggle-label">{{ 'USEFUL_LINKS.SHOW_LESS' | translate }}</a>
</a>
<div *ngIf="category.links.length > 3" class="useful-links-show-more" [ngbCollapse]="!toggle[i]">
<li *ngIf="j > 2">
<a tabindex="0" [attr.id]="'show-more-links-panel-' + i" href="{{ categoryItem.url }}"
target="_blank">{{ categoryItem.name }}</a>
</li>
</div>
</ng-container>
TIA。
解决方法
很难说你的用例是什么,但转移用户的注意力并不是一件容易的事,因为这可能会给用户带来更多的困惑。
相反,我建议将重点放在“显示更多/显示更少”链接上,并使用 aria-expanded
属性向用户表明内容已展开/折叠。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。