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 cac3dfe9db3..d3f89762587 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 00000000000..886bdb2b055
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 00000000000..a3547ef80e5
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 00000000000..17358d904f8
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 00000000000..7e43bcbe59f
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 00000000000..e48cfa22ef0
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 00000000000..7e44d6222c5
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 00000000000..6c0cd8fdf18
--- /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 00000000000..8a978fb8725
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 00000000000..cff12d6ac26
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 00000000000..4396fd32627
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 00000000000..98f8c5b7785
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 00000000000..7270f48c98c
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 00000000000..3226a315579
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 00000000000..93341f14f77
--- /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 00000000000..491a259884a
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 00000000000..063ccdb10bb
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 00000000000..d1e1347cb76
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 00000000000..f3677068554
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 00000000000..5d956da4252
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 00000000000..e6c9d7b691c
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 127c0f941f5..84675927fcb 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 00000000000..c017148ff86
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 00000000000..21f149042f4
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 00000000000..bc469a1d1a9
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 00000000000..da8cee5224c
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 00000000000..c71f919039e
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 00000000000..1a283ee6096
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