diff --git a/core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php b/core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php
index 2dd4652a9751094b7abee24d209ab90369a86eeb..ec066ab64e6467b87f07284fd242a2bdd1c8eba6 100644
--- a/core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php
+++ b/core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php
@@ -24,9 +24,23 @@ public function getCacheContexts() {
 
   /**
    * {@inheritdoc}
+   *
+   * @return array
+   *   A renderable array representing the content of the block with additional
+   *   context of current view and display ID.
    */
   public function build() {
     $output = $this->view->display_handler->viewExposedFormBlocks();
+    // Provide the context for block build and block view alter hooks.
+    // \Drupal\views\Plugin\Block\ViewsBlock::build() adds the same context in
+    // \Drupal\views\ViewExecutable::buildRenderable() using
+    // \Drupal\views\Plugin\views\display\DisplayPluginBase::buildRenderable().
+    if (is_array($output) && !empty($output)) {
+      $output += [
+        '#view' => $this->view,
+        '#display_id' => $this->displayID,
+      ];
+    }
 
     // Before returning the block output, convert it to a renderable array with
     // contextual links.