Skip to content
Snippets Groups Projects
Verified Commit ecac2516 authored by Théodore Biadala's avatar Théodore Biadala
Browse files

Issue #3333418 by nicxvan, smustgrave, quietone: Fix pager h4 for accessibility on Stable9

parent b0bb1b47
No related branches found
No related tags found
32 merge requests!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!9470[10.3.x-only-DO-NOT-MERGE]: #3331771 Fix file_get_contents(): Passing null to parameter,!8540Issue #3457061: Bootstrap Modal dialog Not closing after 10.3.0 Update,!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8373Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault...,!7526Expose roles in response,!7352Draft: Resolve #3203489 "Set filename as",!6880Add @property to the DateTimeItem,!3878Removed unused condition head title for views,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3668Resolve #3347842 "Deprecate the trusted",!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2794Issue #3100732: Allow specifying `meta` data on JSON:API objects,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2062Issue #3246454: Add weekly granularity to views date sort,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493
Pipeline #109313 canceled
Pipeline: drupal

#109317

    ...@@ -165,8 +165,7 @@ public function testPagerHeadingLevel() { ...@@ -165,8 +165,7 @@ public function testPagerHeadingLevel() {
    $view->display_handler->setOption('pager', $pager); $view->display_handler->setOption('pager', $pager);
    $view->save(); $view->save();
    // Stark is handled below. // Stark and Stable9 are handled below.
    // Stable9 will be addressed in https://www.drupal.org/project/drupal/issues/3333418
    $themes = ['olivero', 'claro', 'starterkit_theme']; $themes = ['olivero', 'claro', 'starterkit_theme'];
    $this->container->get('theme_installer')->install($themes); $this->container->get('theme_installer')->install($themes);
    ...@@ -176,11 +175,14 @@ public function testPagerHeadingLevel() { ...@@ -176,11 +175,14 @@ public function testPagerHeadingLevel() {
    $this->assertEquals('h3', $this->assertSession()->elementExists('css', ".pager .visually-hidden")->getTagName()); $this->assertEquals('h3', $this->assertSession()->elementExists('css', ".pager .visually-hidden")->getTagName());
    } }
    // The core views template uses a different class structure than core themes. // The core views template and Stable9 use a different class structure than other core themes.
    $this->container->get('theme_installer')->install(['stark']); $themes = ['stark', 'stable9'];
    $this->config('system.theme')->set('default', 'stark')->save(); $this->container->get('theme_installer')->install($themes);
    $this->drupalGet('test_mini_pager'); foreach ($themes as $theme) {
    $this->assertEquals('h3', $this->assertSession()->elementExists('css', "#pagination-heading")->getTagName()); $this->config('system.theme')->set('default', $theme)->save();
    $this->drupalGet('test_mini_pager');
    $this->assertEquals('h3', $this->assertSession()->elementExists('css', "#pagination-heading")->getTagName());
    }
    } }
    } }
    ...@@ -400,8 +400,7 @@ public function testPagerHeadingLevel() { ...@@ -400,8 +400,7 @@ public function testPagerHeadingLevel() {
    $view->display_handler->setOption('pager', $pager); $view->display_handler->setOption('pager', $pager);
    $view->save(); $view->save();
    // Stable9 will be addressed in https://www.drupal.org/project/drupal/issues/3333418 $themes = ['stark', 'olivero', 'claro', 'starterkit_theme', 'stable9'];
    $themes = ['stark', 'olivero', 'claro', 'starterkit_theme'];
    $this->container->get('theme_installer')->install($themes); $this->container->get('theme_installer')->install($themes);
    foreach ($themes as $theme) { foreach ($themes as $theme) {
    ......
    ...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
    * *
    * Available variables: * Available variables:
    * - heading_id: Pagination heading ID. * - heading_id: Pagination heading ID.
    * - pagination_heading_level: The heading level to use for the pager.
    * - items: List of pager items. * - items: List of pager items.
    * The list is keyed by the following elements: * The list is keyed by the following elements:
    * - first: Item for the first page; not present on the first page of results. * - first: Item for the first page; not present on the first page of results.
    ...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
    #} #}
    {% if items %} {% if items %}
    <nav class="pager" role="navigation" aria-labelledby="{{ heading_id }}"> <nav class="pager" role="navigation" aria-labelledby="{{ heading_id }}">
    <h4 id="{{ heading_id }}" class="visually-hidden">{{ 'Pagination'|t }}</h4> <{{ pagination_heading_level }} id="{{ heading_id }}" class="visually-hidden">{{ 'Pagination'|t }}</{{ pagination_heading_level }}>
    <ul class="pager__items js-pager__items"> <ul class="pager__items js-pager__items">
    {# Print first item if we are not on the first page. #} {# Print first item if we are not on the first page. #}
    {% if items.first %} {% if items.first %}
    ......
    ...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
    * *
    * Available variables: * Available variables:
    * - heading_id: Pagination heading ID. * - heading_id: Pagination heading ID.
    * - pagination_heading_level: The heading level to use for the pager.
    * - items: List of pager items. * - items: List of pager items.
    * *
    * @see template_preprocess_views_mini_pager() * @see template_preprocess_views_mini_pager()
    ...@@ -12,7 +13,7 @@ ...@@ -12,7 +13,7 @@
    #} #}
    {% if items.previous or items.next %} {% if items.previous or items.next %}
    <nav role="navigation" aria-labelledby="{{ heading_id }}"> <nav role="navigation" aria-labelledby="{{ heading_id }}">
    <h4 id="{{ heading_id }}" class="visually-hidden">{{ 'Pagination'|t }}</h4> <{{ pagination_heading_level }} id="{{ heading_id }}" class="visually-hidden">{{ 'Pagination'|t }}</{{ pagination_heading_level }}>
    <ul class="js-pager__items"> <ul class="js-pager__items">
    {% if items.previous %} {% if items.previous %}
    <li> <li>
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment