javascript - ngx-bootstrap 轮播 - 如何修改指标,提高可访问性
问题描述
我正在使用"ngx-bootstrap": "^3.1.3",
轮播组件。我想让残障人士更容易访问我的网站。不幸的是,我找不到修改幻灯片指示器的方法,以便可以使用键盘访问它们。有没有办法做到这一点?
这是我得到的:
<ol class="carousel-indicators ng-star-inserted">
<li class="ng-star-inserted"></li>
<li class="ng-star-inserted active"></li>
</ol>
我想要什么:
<ol class="carousel-indicators ng-star-inserted">
<li class="ng-star-inserted" tabindex="0" role="button" aria-pressed="false"></li>
<li class="ng-star-inserted active" tabindex="0" role="button" aria-pressed="true"></li>
</ol>
解决方案
我找到了解决方法。基本上我确实隐藏了原始指标并创建了自己的指标。
<carousel [noPause]="false" [(activeSlide)]="activeSlide" [showIndicators]="false">
<slide *ngFor="let item of items">
...
</slide>
<!-- add this -->
<div class="indicators">
<button *ngFor="let item of items; let i = index" type="button" class="indicator"
[class.active]="i === activeSlide" [attr.aria-pressed]="i === activeSlide"
(click)="switchSlide(i)"></button>
</div>
<!-- /add this -->
</carousel>
通过这种方式,您可以完全控制指标,并且可以随意设置样式,并且可以对其进行修改以使其易于访问。
推荐阅读
- reactjs - React typescript pass props 未在界面中声明?
- python - 为特定用户“多播”更新提要
- php - 由于会话超时,用户强制退出系统 - Yii
- python - 使用正确的字符编码进行抓取(python + request-HTML)
- html - 如何强制 Chrome 在网站上显示最新的图像更改
- python - 启动时运行 python 脚本的问题 | 覆盆子未连接到显示器 - Raspberry Pi
- types - 将 Rust 枚举变量转换为数字数据类型的含义是什么?
- web-scraping - 如何使用氦刮刀将多个数据点刮到单行
- variables - SAS TO COBOL 转换变量声明
- java - 使用 JpaRepository .findById() 方法获取请求和错误处理