vnps
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)