微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

键盘输入时专注于下一个链接显示更多

如何解决键盘输入时专注于下一个链接显示更多

我正在研究可访问性,并有一组显示更多的链接。如果用户在 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 举报,一经查实,本站将立刻删除。