Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/spotty-owls-pay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@cloudfour/patterns': minor
---

Add aria-hidden to Pagination component ellipsis
31 changes: 22 additions & 9 deletions src/components/pagination/pagination.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,47 @@
<{{ label_tag_name }} id="{{ label_id }}" class="u-hidden-visually">Pagination</{{ label_tag_name }}>
<ul class="c-pagination__items" role="list">
{% for page in pagination.pages %}
<li class="c-pagination__item">
{% if page.current %}
{% if page.current %}
<li class="c-pagination__item">
<a class="c-pagination__action" href="{{ page.link }}" aria-current="page">
<span class="u-hidden-visually">Page</span>
<span class="c-pagination__number">{{ page.title }}</span>
</a>
{% elseif page.link and page.link == pagination.prev.link %}
</li>
{% elseif page.link and page.link == pagination.prev.link %}
<li class="c-pagination__item">
<a class="c-pagination__action is-previous" href="{{ page.link }}">
<span class="u-hidden-visually">Previous: Page</span>
<span class="c-pagination__number">{{ page.title }}</span>
</a>
{% elseif page.link and page.link == pagination.next.link %}
</li>
{% elseif page.link and page.link == pagination.next.link %}
<li class="c-pagination__item">
<a class="c-pagination__action is-next" href="{{ page.link }}">
<span class="u-hidden-visually">Next: Page</span>
<span class="c-pagination__number">{{ page.title }}</span>
</a>
{% elseif page.link %}
</li>
{% elseif page.link %}
<li class="c-pagination__item">
<a class="c-pagination__action" href="{{ page.link }}">
<span class="u-hidden-visually">Page</span>
<span class="c-pagination__number">{{ page.title }}</span>
</a>
{% else %}
{# Fallback for non-link pages like ellipsis gaps for first/last pages #}
</li>
{% else %}
{# Fallback for non-link pages like ellipsis gaps for first/last pages #}
<li
class="c-pagination__item"
{% if page.title == '&hellip;' or page.title == '…' %}
aria-hidden="true"
{% endif %}
>
<span class="c-pagination__action">
{{ page.title }}
</span>
{% endif %}
</li>
</li>
{% endif %}
{% endfor %}
</ul>
</nav>