diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts
index cac3dfe9db..d3f8976258 100644
--- a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts
+++ b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts
@@ -54,3 +54,37 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
});
});
});
+
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('action-sheet: font scaling'), () => {
+ test('should scale text on larger font sizes', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+
+
+
+ `,
+ config
+ );
+
+ const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent');
+ const actionSheet = page.locator('ion-action-sheet');
+
+ await actionSheet.evaluate((el: HTMLIonActionSheetElement) => el.present());
+ await ionActionSheetDidPresent.next();
+
+ await expect(actionSheet).toHaveScreenshot(screenshot(`action-sheet-scale`));
+ });
+ });
+});
diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..886bdb2b05
Binary files /dev/null and b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..a3547ef80e
Binary files /dev/null and b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Safari-linux.png b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..17358d904f
Binary files /dev/null and b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..7e43bcbe59
Binary files /dev/null and b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..e48cfa22ef
Binary files /dev/null and b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Safari-linux.png b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..7e44d6222c
Binary files /dev/null and b/core/src/components/action-sheet/test/a11y/action-sheet.e2e.ts-snapshots/action-sheet-scale-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts b/core/src/components/back-button/test/a11y/back-button.e2e.ts
new file mode 100644
index 0000000000..6c0cd8fdf1
--- /dev/null
+++ b/core/src/components/back-button/test/a11y/back-button.e2e.ts
@@ -0,0 +1,29 @@
+import { expect } from '@playwright/test';
+import { configs, test } from '@utils/test/playwright';
+
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('back-button: font scaling'), () => {
+ test('should scale text on larger font sizes', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+
+
+
+
+
+ `,
+ config
+ );
+
+ const backButton = page.locator('ion-back-button');
+
+ await expect(backButton).toHaveScreenshot(screenshot(`back-button-scale`));
+ });
+ });
+});
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..8a978fb872
Binary files /dev/null and b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..cff12d6ac2
Binary files /dev/null and b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Safari-linux.png b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..4396fd3262
Binary files /dev/null and b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Chrome-linux.png b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..98f8c5b778
Binary files /dev/null and b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Firefox-linux.png b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..7270f48c98
Binary files /dev/null and b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Safari-linux.png b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..3226a31557
Binary files /dev/null and b/core/src/components/back-button/test/a11y/back-button.e2e.ts-snapshots/back-button-scale-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts b/core/src/components/badge/test/a11y/badge.e2e.ts
new file mode 100644
index 0000000000..93341f14f7
--- /dev/null
+++ b/core/src/components/badge/test/a11y/badge.e2e.ts
@@ -0,0 +1,25 @@
+import { expect } from '@playwright/test';
+import { configs, test } from '@utils/test/playwright';
+
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('badge: font scaling'), () => {
+ test('should scale text on larger font sizes', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+ 123
+ `,
+ config
+ );
+
+ const badge = page.locator('ion-badge');
+
+ await expect(badge).toHaveScreenshot(screenshot(`badge-scale`));
+ });
+ });
+});
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..491a259884
Binary files /dev/null and b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..063ccdb10b
Binary files /dev/null and b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Safari-linux.png b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..d1e1347cb7
Binary files /dev/null and b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Chrome-linux.png b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..f367706855
Binary files /dev/null and b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Firefox-linux.png b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..5d956da425
Binary files /dev/null and b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Safari-linux.png b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..e6c9d7b691
Binary files /dev/null and b/core/src/components/badge/test/a11y/badge.e2e.ts-snapshots/badge-scale-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts
index 127c0f941f..84675927fc 100644
--- a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts
+++ b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts
@@ -12,3 +12,30 @@ configs().forEach(({ config, title }) => {
});
});
});
+
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('breadcrumbs: font scaling'), () => {
+ test('should scale text on larger font sizes', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+
+ Home
+ Electronics
+ Photography
+
+ `,
+ config
+ );
+
+ const breadcrumbs = page.locator('ion-breadcrumbs');
+
+ await expect(breadcrumbs).toHaveScreenshot(screenshot(`breadcrumbs-scale`));
+ });
+ });
+});
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..c017148ff8
Binary files /dev/null and b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..21f149042f
Binary files /dev/null and b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Safari-linux.png b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..bc469a1d1a
Binary files /dev/null and b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Chrome-linux.png b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..da8cee5224
Binary files /dev/null and b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Firefox-linux.png b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..c71f919039
Binary files /dev/null and b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Safari-linux.png b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..1a283ee609
Binary files /dev/null and b/core/src/components/breadcrumbs/test/a11y/breadcrumbs.e2e.ts-snapshots/breadcrumbs-scale-md-ltr-Mobile-Safari-linux.png differ