diff --git a/packages/html-reporter/src/testResultView.tsx b/packages/html-reporter/src/testResultView.tsx
index 100be92c9c..681f4b507a 100644
--- a/packages/html-reporter/src/testResultView.tsx
+++ b/packages/html-reporter/src/testResultView.tsx
@@ -176,7 +176,7 @@ const StepTreeItem: React.FC<{
}> = ({ test, step, result, depth }) => {
return
{msToString(step.duration)}
- {step.attachments.length > 0 && { evt.stopPropagation(); }}>{icons.attachment()}}
+ {step.attachments.length > 0 && { evt.stopPropagation(); }}>{icons.attachment()}}
{statusIcon(step.error || step.duration === -1 ? 'failed' : (step.skipped ? 'skipped' : 'passed'))}
{step.title}
{step.count > 1 && <> ✕ {step.count}>}
diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts
index 9281de2fa3..b977337597 100644
--- a/tests/playwright-test/reporter-html.spec.ts
+++ b/tests/playwright-test/reporter-html.spec.ts
@@ -961,7 +961,7 @@ for (const useIntermediateMergeReport of [true, false] as const) {
const attachment = page.getByText('foo-2', { exact: true });
await expect(attachment).not.toBeInViewport();
- await page.getByTitle('link to "foo-2" attachment').click();
+ await page.getByLabel(`attach "foo-2"`).getByTitle('reveal attachment').click();
await expect(attachment).toBeInViewport();
await page.reload();