Commit bcf8ea98557 for woocommerce

commit bcf8ea985576c5ff3fe11d69d3ed5d1c05909d6e
Author: Chris Lilitsas <1105590+xristos3490@users.noreply.github.com>
Date:   Thu Oct 15 12:06:49 2026 +0300

    Render the back-in-stock sign-up prompt as a paragraph instead of a heading (#69503)

    * fix: render back-in-stock form prompt as a paragraph, not an h3

    * test: find BIS signup form by accessible name in e2e spec

    * test: use string locator for fixed BIS prompt text

    * test: assert the BIS prompt is not rendered as a heading

    * test: assert the BIS prompt renders as a paragraph

diff --git a/plugins/woocommerce/changelog/fix-wooplug-7918-bis-form-prompt-paragraph b/plugins/woocommerce/changelog/fix-wooplug-7918-bis-form-prompt-paragraph
new file mode 100644
index 00000000000..5b2c7783cff
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-wooplug-7918-bis-form-prompt-paragraph
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Show the back-in-stock sign-up prompt as a paragraph instead of a large heading on the product page.
diff --git a/plugins/woocommerce/templates/single-product/back-in-stock-form.php b/plugins/woocommerce/templates/single-product/back-in-stock-form.php
index 9b9e15fbc62..0537fbd36ac 100644
--- a/plugins/woocommerce/templates/single-product/back-in-stock-form.php
+++ b/plugins/woocommerce/templates/single-product/back-in-stock-form.php
@@ -14,7 +14,7 @@
  *
  * @see https://woocommerce.com/document/template-structure/
  * @package WooCommerce\Templates
- * @version 11.2.0
+ * @version 11.3.0
  */

 // Exit if accessed directly.
@@ -25,9 +25,9 @@ if ( ! defined( 'ABSPATH' ) ) {
 ?>
 <div class="wc_bis_form" data-bis-product-id="<?php echo absint( $product_id ); ?>" <?php echo $is_visible ? '' : 'hidden'; ?>>

-	<h3 id="wc_bis_form_heading_<?php echo absint( $product_id ); ?>">
+	<p id="wc_bis_form_heading_<?php echo absint( $product_id ); ?>" class="wc_bis_form__title">
 		<?php echo wp_kses_post( __( 'Want to be notified when this product is back in stock?', 'woocommerce' ) ); ?>
-	</h3>
+	</p>

 	<form method="post" novalidate aria-labelledby="wc_bis_form_heading_<?php echo absint( $product_id ); ?>">
 		<div class="wc_bis_form__form-row">
diff --git a/plugins/woocommerce/tests/e2e/tests/back-in-stock-notifications/signing-up.spec.ts b/plugins/woocommerce/tests/e2e/tests/back-in-stock-notifications/signing-up.spec.ts
index 5173a190c7f..feb5dadf41a 100644
--- a/plugins/woocommerce/tests/e2e/tests/back-in-stock-notifications/signing-up.spec.ts
+++ b/plugins/woocommerce/tests/e2e/tests/back-in-stock-notifications/signing-up.spec.ts
@@ -76,9 +76,9 @@ test.describe(
 				await page.goto( product.permalink );
 				await expect( bisFormLocator( page ) ).toHaveCount( 0 );
 				await expect(
-					page.getByRole( 'heading', {
-						name: /Want to be notified when this product is back in stock\?/i,
-					} )
+					page.getByText(
+						'Want to be notified when this product is back in stock?'
+					)
 				).toHaveCount( 0 );
 			} );
 		} );
@@ -101,11 +101,20 @@ test.describe(
 				await page.goto( product.permalink );

 				await expect(
-					page.getByRole( 'heading', {
+					page.getByRole( 'form', {
 						name: /Want to be notified when this product is back in stock\?/i,
 					} )
 				).toBeVisible();

+				// The prompt is a paragraph, not a heading, so it stays out of
+				// the document outline.
+				await expect(
+					page.getByRole( 'paragraph' ).filter( {
+						hasText:
+							'Want to be notified when this product is back in stock?',
+					} )
+				).toBeVisible();
+
 				// A logged-in customer does not see the email field — email is derived server-side.
 				await expect(
 					page.getByRole( 'textbox', {