From c502341564b5fc5ba163e52d72501aa99024ed20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20B=C5=82a=C5=BCejewicz=20=28Peter=20Blazejewicz=29?= Date: Fri, 15 Nov 2019 23:18:21 +0100 Subject: [PATCH] feat(pagination): add 'aria-current' attribute (#3470) This commit adds support for aria-current attribute as per: https://getbootstrap.com/docs/4.3/components/pagination/#disabled-and-active-states https://developer.mozilla.org/en-US/docs/Web/CSS/Layout_cookbook/Pagination --- src/pagination/pagination.spec.ts | 3 +++ src/pagination/pagination.ts | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pagination/pagination.spec.ts b/src/pagination/pagination.spec.ts index fa37c295b8..d19ca58c0d 100644 --- a/src/pagination/pagination.spec.ts +++ b/src/pagination/pagination.spec.ts @@ -22,10 +22,12 @@ function expectPages(nativeEl: HTMLElement, pagesDef: string[], ellipsis = '...' if (classIndicator === '+') { expect(pages[i]).toHaveCssClass('active'); expect(pages[i]).not.toHaveCssClass('disabled'); + expect(pages[i].getAttribute('aria-current')).toBe('page'); expect(normalizeText(pages[i].textContent)).toEqual(pageDef.substr(1) + ' (current)'); } else if (classIndicator === '-') { expect(pages[i]).not.toHaveCssClass('active'); expect(pages[i]).toHaveCssClass('disabled'); + expect(pages[i].getAttribute('aria-current')).toBeNull(); expect(normalizeText(pages[i].textContent)).toEqual(pageDef.substr(1)); if (normalizeText(pages[i].textContent) !== ellipsis) { expect(pages[i].querySelector('a').getAttribute('tabindex')).toEqual('-1'); @@ -33,6 +35,7 @@ function expectPages(nativeEl: HTMLElement, pagesDef: string[], ellipsis = '...' } else { expect(pages[i]).not.toHaveCssClass('active'); expect(pages[i]).not.toHaveCssClass('disabled'); + expect(pages[i].getAttribute('aria-current')).toBeNull(); expect(normalizeText(pages[i].textContent)).toEqual(pageDef); if (normalizeText(pages[i].textContent) !== ellipsis) { expect(pages[i].querySelector('a').hasAttribute('tabindex')).toBeFalsy(); diff --git a/src/pagination/pagination.ts b/src/pagination/pagination.ts index 374add03e4..ff502431fa 100644 --- a/src/pagination/pagination.ts +++ b/src/pagination/pagination.ts @@ -147,7 +147,7 @@ export class NgbPaginationPrevious {
  • + [class.disabled]="isEllipsis(pageNumber) || disabled" [attr.aria-current]="(pageNumber === page ? 'page' : null)">