Skip to content

fix(input, input-group): prevent Safari auto-zoom on mobile by setting font-size to 16px - #691

Open
invisal wants to merge 2 commits into
cloudflare:mainfrom
invisal:feat/prevent-input-autozoom-mobile
Open

fix(input, input-group): prevent Safari auto-zoom on mobile by setting font-size to 16px#691
invisal wants to merge 2 commits into
cloudflare:mainfrom
invisal:feat/prevent-input-autozoom-mobile

Conversation

@invisal

@invisal invisal commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Safari on iOS automatically zooms in when focusing on input elements with a font-size smaller than 16px. This behavior disrupts the user experience, especially in forms where users expect the page layout to remain stable.

This change sets the font-size to 16px on mobile viewports for both the Input and InputGroup components, preventing the unwanted auto-zoom while maintaining the intended visual styling via the existing scale transform.

Changes

  • Updated packages/kumo/src/components/input/input.tsx
  • Updated packages/kumo/src/components/input-group/input-group.tsx

  • Reviews
  • bonk has reviewed the change
  • automated review not possible because:
  • Tests
  • Tests included/updated
  • Automated tests not possible - manual testing has been completed as follows:
  • Additional testing not necessary because:

@pkg-pr-new

pkg-pr-new Bot commented Aug 3, 2026

Copy link
Copy Markdown
npm i https://pkg.pr.new/@cloudflare/kumo@691

commit: dc79298

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Docs Preview

View docs preview

Commit: dc79298

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor
Visual Regression Report — 13 changed, 12 unchanged

13 screenshot(s) with visual changes:

Input / Input Error String

1,649 px (1.58%) changed

Before After Diff
Before After Diff

Input / Input Error Object

1,124 px (1.27%) changed

Before After Diff
Before After Diff

Input / Input React Node Label

1,190 px (1.34%) changed

Before After Diff
Before After Diff

Input / Input Controlled On Change

1,536 px (1.48%) changed

Before After Diff
Before After Diff

Input / Input Bare

526 px (0.59%) changed

Before After Diff
Before After Diff

Input / Input Error Without Label

2,808 px (1.53%) changed

Before After Diff
Before After Diff

Input / Input Password Manager Ignore

2,516 px (1.74%) changed

Before After Diff
Before After Diff

Input Group / Input Group

835 px (0.94%) changed

Before After Diff
Before After Diff

Input Group / Input Group Text

2,479 px (1.77%) changed

Before After Diff
Before After Diff

Input Group / Input Group Tooltip Button

1,124 px (1.27%) changed

Before After Diff
Before After Diff

Input Group / Input Group Kbd

744 px (0.84%) changed

Before After Diff
Before After Diff

Input Group / Input Group Loading

8 px (0.01%) changed

Before After Diff
Before After Diff

Input Group / Input Group Suffix

2,878 px (1.76%) changed

Before After Diff
Before After Diff
12 screenshot(s) unchanged
  • Input / Input Basic
  • Input / Input With Label
  • Input / Input Sizes
  • Input / Input Disabled
  • Input / Input Optional Field
  • Input / Input Label Tooltip
  • Input / Input Controlled On Value Change
  • Input / Input Types
  • Input Group / Input Group Icons
  • Input Group / Input Group Buttons
  • Input Group / Input Group Sizes
  • Input Group / Input Group States

Generated by Kumo Visual Regression

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant