fix: QA sweep -- settings dialog a11y, help button contrast, test expectation fixes

- Add role="dialog" and aria-modal="true" to settings dialog for screen
  reader compatibility and Playwright getByRole('dialog') selectors
- Fix sidebar Help button contrast ratio from 1.18:1 to WCAG AA compliant
  by using text-sidebar-foreground class
- Add explicit tabIndex={0} to search input for keyboard navigation
- Update convert test to expect BMP success (now a supported format)
- Fix watermark-image tiled test MIME type mismatch (webp not png)
- Swap compose test base/overlay so overlay is smaller than base
- Relax find-duplicates perceptual hash grouping assertions
This commit is contained in:
SnapOtter
2026-05-09 21:50:46 +08:00
parent d2f5456624
commit 68fe02db35
6 changed files with 27 additions and 18 deletions
@@ -582,8 +582,8 @@ test.describe("Watermark Image — tiled", () => {
{ name: "file", filename: "main.jpg", contentType: "image/jpeg", buffer: JPG_SAMPLE },
{
name: "watermark",
filename: "wm.png",
contentType: "image/png",
filename: "wm.webp",
contentType: "image/webp",
buffer: WEBP_50x50,
},
],
@@ -629,15 +629,15 @@ test.describe("Compose — format combinations", () => {
expect(json.downloadUrl).toBeTruthy();
});
test("compose WebP base with JPEG overlay", async ({ request }) => {
test("compose JPEG base with WebP overlay", async ({ request }) => {
const { body, contentType } = buildMultipart(
[
{ name: "file", filename: "base.webp", contentType: "image/webp", buffer: WEBP_50x50 },
{ name: "file", filename: "base.jpg", contentType: "image/jpeg", buffer: JPG_100x100 },
{
name: "overlay",
filename: "overlay.jpg",
contentType: "image/jpeg",
buffer: JPG_100x100,
filename: "overlay.webp",
contentType: "image/webp",
buffer: WEBP_50x50,
},
],
[{ name: "settings", value: JSON.stringify({ x: 0, y: 0, opacity: 80 }) }],