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); });