Drupal is a registered trademark of Dries Buytaert
cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! linkit 7.0.15 Minor update available for module linkit (7.0.15). views_data_export 8.x-1.10 Minor update available for module views_data_export (8.x-1.10).

vnps

No security coverage
View on drupal.org

By default, Drupal Views updates the browser URL when AJAX-powered exposed filters or pager are used. This behavior is intended to support browser history navigation, but it comes with an accessibility requirement: when the URL changes, the page title must also be updated to reflect the current filter state and pagination, so that screen readers and assistive technologies can correctly announce the new context to users.
If your project does not implement this page title update, the URL change creates an accessibility gap that violates WCAG 2.1 success criterion 2.4.2 (Page Titled).
Views No PushState takes a different approach: instead of updating the URL, it silently prevents any pushState or replaceState call triggered by Views AJAX — for both exposed filters (field_* parameters) and the pager (page= parameter). The filtered results are still loaded via AJAX, but the URL remains unchanged, avoiding the accessibility obligation entirely.
When to use this module

Your Views AJAX results update correctly but you do not want the URL to reflect filter or pager state
You cannot or do not want to implement dynamic page title updates on filter change
You want a lightweight, zero-configuration solution with no impact on Views AJAX functionality

Requirements

Drupal 11
Views (core)

Activity

Total releases
3
First release
May 2026
Latest release
3 days ago
Release cadence
1 day
Stability
0% stable

Release Timeline

Releases

Version Type Release date
1.0.1-beta1 Pre-release May 18, 2026
1.0.0-beta1 Pre-release May 17, 2026
1.0.x-dev Dev May 17, 2026