diff --git a/src/resources/formats/html/templates/quarto-html-after-body.ejs b/src/resources/formats/html/templates/quarto-html-after-body.ejs
index 1ca788a3d4..d482b96b10 100644
--- a/src/resources/formats/html/templates/quarto-html-after-body.ejs
+++ b/src/resources/formats/html/templates/quarto-html-after-body.ejs
@@ -55,7 +55,7 @@
}
container.classList.add('quarto-color-scheme-toggle-container');
container.appendChild(toggle);
- window.document.body.appendChild(container);
+ window.document.body.prepend(container);
}
setColorSchemeToggle(hasAlternateSentinel())
@@ -716,4 +716,3 @@
<% } %>
-
\ No newline at end of file
diff --git a/tests/integration/playwright/tests/html-color-scheme-toggle.spec.ts b/tests/integration/playwright/tests/html-color-scheme-toggle.spec.ts
index a90143fbb3..6beb40300d 100644
--- a/tests/integration/playwright/tests/html-color-scheme-toggle.spec.ts
+++ b/tests/integration/playwright/tests/html-color-scheme-toggle.spec.ts
@@ -20,6 +20,9 @@ test("fallback color-scheme toggle sits in a header landmark", async ({
"body > header.quarto-color-scheme-toggle-container",
);
await expect(container).toHaveCount(1);
+ await expect(page.locator("body > :first-child")).toHaveClass(
+ /quarto-color-scheme-toggle-container/,
+ );
await expect(
container.locator("button.quarto-color-scheme-toggle"),
).toHaveCount(1);
@@ -75,7 +78,9 @@ test("fallback color-scheme toggle sees a banner that is not a child of body", a
page.locator("body > div > header#title-block-header"),
).toHaveCount(1);
await expect(
- page.locator('body > div.quarto-color-scheme-toggle-container[role="region"]'),
+ page.locator(
+ 'body > div.quarto-color-scheme-toggle-container[role="region"]',
+ ),
).toHaveCount(1);
await expect(page.getByRole("banner")).toHaveCount(1);
});