Block pinch and double-tap zoom, including on iOS Safari

iOS Safari ignores user-scalable=no, so zoom is blocked in three layers:
- viewport meta: maximum-scale=1, user-scalable=no on every page
  (covers Android, home-screen apps and iOS focus zoom on inputs)
- CSS: touch-action: pan-x pan-y on html, so scrolling still works but
  pinch and double-tap zoom do not
- JS (fluid.js): cancel Safari's gesture* events and two-finger touchmove

Double-tap is left to CSS rather than JS so rapid repeated taps on
buttons still register as clicks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
agomizi1cmandClaude Opus 5.5 committed 2026-10-21 21:53:02 +09:00
1 parent 7941406163
commit ed5617a47a
8 files changed
+25 -7

No files matched your search

+3 -1
View File
@@ -173,6 +173,8 @@ html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
background: var(--bg);
/* スクロールだけ許し、ピンチとダブルタップの拡大は止める(子の touch-action もこれに絞られる) */
touch-action: pan-x pan-y;
}
body {
@@ -1462,7 +1464,7 @@ body.page-table {
display: flex;
flex-direction: column;
background: var(--room);
touch-action: manipulation; /* ダブルタップでの拡大を防ぐ(ピンチ拡大は残す) */
touch-action: pan-x pan-y; /* ダブルタップ・ピンチでの拡大を防ぐ */
-webkit-user-select: none;
user-select: none;
-webkit-touch-callout: none;