Skip to content

Commit

Permalink
feat(): initial impl of accessibility for carousel #144
Browse files Browse the repository at this point in the history
  • Loading branch information
Ks89 committed Aug 16, 2018
1 parent 65a2abb commit 908a239
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,21 @@ export const KS_DEFAULT_ACCESSIBILITY_CONFIG: AccessibilityConfig = {
previewScrollPrevAriaLabel: 'Scroll previous previews',
previewScrollPrevTitle: 'Scroll previous previews',
previewScrollNextAriaLabel: 'Scroll next previews',
previewScrollNextTitle: 'Scroll next previews'
previewScrollNextTitle: 'Scroll next previews',

carouselContainerAriaLabel: 'Current image and navigation',
carouselContainerTitle: '',
carouselPrevImageAriaLabel: 'Previous image',
carouselPrevImageTitle: 'Previous image',
carouselNextImageAriaLabel: 'Next image',
carouselNextImageTitle: 'Next image',
carouselDotsContainerAriaLabel: 'Image navigation dots',
carouselDotsContainerTitle: '',
carouselDotAriaLabel: 'Navigate to image number',
carouselPreviewsContainerAriaLabel: 'Image previews',
carouselPreviewsContainerTitle: '',
carouselPreviewScrollPrevAriaLabel: 'Scroll previous previews',
carouselPreviewScrollPrevTitle: 'Scroll previous previews',
carouselPreviewScrollNextAriaLabel: 'Scroll next previews',
carouselPreviewScrollNextTitle: 'Scroll next previews'
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
<figure id="current-figure">

<a class="nav-left" *ngIf="isShowArrows"
(click)="onNavigationEvent('left', $event)">
<div class="inside {{isFirstImage && !slideConfig?.infinite ? 'empty-arrow-image' : 'left-arrow-image'}}"></div>
[attr.aria-label]="accessibilityConfig.mainNextImageAriaLabel"
[tabindex]="isLastImage && !slideConfig?.infinite ? -1 : 0" role="button"
(click)="onNavigationEvent('left', $event)" (keyup)="onNavigationEvent('left', $event)">
<div class="inside {{isFirstImage && !slideConfig?.infinite ? 'empty-arrow-image' : 'left-arrow-image'}}"
aria-hidden="true"
[title]="accessibilityConfig.mainNextImageTitle"></div>
</a>

<ng-content></ng-content>
Expand All @@ -21,8 +25,12 @@
[innerHTML]="getDescriptionToDisplay()"></figcaption>

<a class="nav-right" *ngIf="isShowArrows"
(click)="onNavigationEvent('right', $event)">
<div class="inside {{isLastImage && !slideConfig?.infinite ? 'empty-arrow-image' : 'right-arrow-image'}}"></div>
[attr.aria-label]="accessibilityConfig.mainNextImageAriaLabel"
[tabindex]="isLastImage && !slideConfig?.infinite ? -1 : 0" role="button"
(click)="onNavigationEvent('right', $event)" (keyup)="onNavigationEvent('right', $event)">
<div class="inside {{isLastImage && !slideConfig?.infinite ? 'empty-arrow-image' : 'right-arrow-image'}}"
aria-hidden="true"
[title]="accessibilityConfig.mainNextImageTitle"></div>
</a>

<div id="dots">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,20 @@ export interface AccessibilityConfig {
previewScrollPrevTitle: string;
previewScrollNextAriaLabel: string;
previewScrollNextTitle: string;

carouselContainerAriaLabel: string;
carouselContainerTitle: string;
carouselPrevImageAriaLabel: string;
carouselPrevImageTitle: string;
carouselNextImageAriaLabel: string;
carouselNextImageTitle: string;
carouselDotsContainerAriaLabel: string;
carouselDotsContainerTitle: string;
carouselDotAriaLabel: string;
carouselPreviewsContainerAriaLabel: string;
carouselPreviewsContainerTitle: string;
carouselPreviewScrollPrevAriaLabel: string;
carouselPreviewScrollPrevTitle: string;
carouselPreviewScrollNextAriaLabel: string;
carouselPreviewScrollNextTitle: string;
}
18 changes: 17 additions & 1 deletion src/app/carousel/carousel.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,23 @@ export class CarouselComponent {
previewScrollPrevAriaLabel: 'CUSTOM Scroll previous previews',
previewScrollPrevTitle: 'CUSTOM Scroll previous previews',
previewScrollNextAriaLabel: 'CUSTOM Scroll next previews',
previewScrollNextTitle: 'CUSTOM Scroll next previews'
previewScrollNextTitle: 'CUSTOM Scroll next previews',

carouselContainerAriaLabel: 'Current image and navigation',
carouselContainerTitle: '',
carouselPrevImageAriaLabel: 'Previous image',
carouselPrevImageTitle: 'Previous image',
carouselNextImageAriaLabel: 'Next image',
carouselNextImageTitle: 'Next image',
carouselDotsContainerAriaLabel: 'Image navigation dots',
carouselDotsContainerTitle: '',
carouselDotAriaLabel: 'Navigate to image number',
carouselPreviewsContainerAriaLabel: 'Image previews',
carouselPreviewsContainerTitle: '',
carouselPreviewScrollPrevAriaLabel: 'Scroll previous previews',
carouselPreviewScrollPrevTitle: 'Scroll previous previews',
carouselPreviewScrollNextAriaLabel: 'Scroll next previews',
carouselPreviewScrollNextTitle: 'Scroll next previews'
};

constructor(private galleryService: GalleryService, private sanitizer: DomSanitizer) {}
Expand Down
18 changes: 17 additions & 1 deletion src/app/modal-gallery/modal-gallery.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,23 @@ export class ModalGalleryComponent {
previewScrollPrevAriaLabel: 'CUSTOM Scroll previous previews',
previewScrollPrevTitle: 'CUSTOM Scroll previous previews',
previewScrollNextAriaLabel: 'CUSTOM Scroll next previews',
previewScrollNextTitle: 'CUSTOM Scroll next previews'
previewScrollNextTitle: 'CUSTOM Scroll next previews',

carouselContainerAriaLabel: 'Current image and navigation',
carouselContainerTitle: '',
carouselPrevImageAriaLabel: 'Previous image',
carouselPrevImageTitle: 'Previous image',
carouselNextImageAriaLabel: 'Next image',
carouselNextImageTitle: 'Next image',
carouselDotsContainerAriaLabel: 'Image navigation dots',
carouselDotsContainerTitle: '',
carouselDotAriaLabel: 'Navigate to image number',
carouselPreviewsContainerAriaLabel: 'Image previews',
carouselPreviewsContainerTitle: '',
carouselPreviewScrollPrevAriaLabel: 'Scroll previous previews',
carouselPreviewScrollPrevTitle: 'Scroll previous previews',
carouselPreviewScrollNextAriaLabel: 'Scroll next previews',
carouselPreviewScrollNextTitle: 'Scroll next previews'
};

constructor(private galleryService: GalleryService, private sanitizer: DomSanitizer) {}
Expand Down
18 changes: 17 additions & 1 deletion src/app/plain-gallery/plain-gallery.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,23 @@ export class PlainGalleryComponent {
previewScrollPrevAriaLabel: 'CUSTOM Scroll previous previews',
previewScrollPrevTitle: 'CUSTOM Scroll previous previews',
previewScrollNextAriaLabel: 'CUSTOM Scroll next previews',
previewScrollNextTitle: 'CUSTOM Scroll next previews'
previewScrollNextTitle: 'CUSTOM Scroll next previews',

carouselContainerAriaLabel: 'Current image and navigation',
carouselContainerTitle: '',
carouselPrevImageAriaLabel: 'Previous image',
carouselPrevImageTitle: 'Previous image',
carouselNextImageAriaLabel: 'Next image',
carouselNextImageTitle: 'Next image',
carouselDotsContainerAriaLabel: 'Image navigation dots',
carouselDotsContainerTitle: '',
carouselDotAriaLabel: 'Navigate to image number',
carouselPreviewsContainerAriaLabel: 'Image previews',
carouselPreviewsContainerTitle: '',
carouselPreviewScrollPrevAriaLabel: 'Scroll previous previews',
carouselPreviewScrollPrevTitle: 'Scroll previous previews',
carouselPreviewScrollNextAriaLabel: 'Scroll next previews',
carouselPreviewScrollNextTitle: 'Scroll next previews'
};

constructor(private galleryService: GalleryService, private sanitizer: DomSanitizer) {}
Expand Down

0 comments on commit 908a239

Please sign in to comment.