ngx-bootstrap轮播-如何修改指标,提高可访问性

时间:2019-02-22 11:09:47

标签: javascript angular accessibility 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>

1 个答案:

答案 0 :(得分:1)

我找到了解决方法。基本上,我确实隐藏了原始指标并创建了自己的指标。

<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>

通过这种方式,您可以完全控制指标,并且可以随意设置其样式,也可以对其进行修改以使其可访问。