ep203 Monthly Platform 202604

published_at
2026-04-28
guest
@saku
guest
@petamoriken
toc
headings

Theme

第 203 回のテーマは 2026 年 4 月の Monthly Platform です。

Show Note

Chrome 動向

Stable: 148

Updates

  • New in Chrome 147
  • What's new in DevTools (Chrome 147)
    • https://developer.chrome.com/blog/new-in-devtools-147
    • Automatic context selection in AI assistance
    • DevTools for Agents
    • Code generation
    • Refreshed Device Mode toolbar
    • Decoded compressed bodies
    • Regular expression filters for styles
    • Speculative loads enhancements
    • Miscellaneous
    • Accessibility
      • Contribute
      • Related content
      • Follow
  • Chrome 148 beta
    • https://developer.chrome.com/blog/chrome-148-beta
    • CSS and UI
      • Name-only container queries in CSS
      • Clip text overflow on user interaction
      • Correctly set dropEffect for dragEnter, dragLeave, and dragOver events
      • Lazy load video and audio elements
      • CSS at-rule() function for feature detection
      • Add the revert-rule keyword
      • Support text-decoration-skip-ink: all
    • Web APIs
      • Localize manifest members
      • Support Open Font Format avar2 for text shaping and glyph rendering
      • Web Authentication Immediate UI mode
      • Web Serial API support on Android
      • WebGPU linear_indexing feature
      • SharedWorker support on Android
      • Extended lifetime for shared workers
      • Prompt API
      • Get Secure Payment Confirmation capabilities
      • IDNA ContextJ rules
      • Reuse no-store images on same-src reassignment
      • Add the contentType field to Resource Timing
      • Suppress pointer events on drag start
      • WebRTC Datachannel: Always negotiate data channels
    • New origin trials
      • Agentic Federated Login
      • Connection Allowlists
      • Container Timing
      • Declarative CSS module scripts
      • HTML-in-canvas
      • Long Animation Frames style duration
      • OpaqueRange
      • Parse processing instructions in HTML
      • Permissions Policy: focus-without-user-activation
      • Prompt API sampling parameters
      • Web app HTML install element
      • Contribute
      • Related content
      • Follow
  • What's New in WebGPU (Chrome 147-148)

Intents

Other

Firefox 動向

Stable: 150

Updates

Intents

Newsletter

MDN / Open Web Docs

Standard Position

Other

Safari 動向

Stable: 26.4

Updates

  • https://webkit.org/blog/
  • Safari Technology Preview NN
  • Release Notes for Safari Technology Preview 240 | WebKit
    • https://webkit.org/blog/17896/release-notes-for-safari-technology-preview-240/
    • CSS
      • Added support for the revert-rule CSS keyword, which rolls back the cascade to behave as if the current style rule had not been present.
    • Editing
    • Forms
    • HTML
    • Media
    • PDF
    • Rendering
      • Added support for subpixel inline layout, enabling more precise text and inline element positioning.
    • SVG
      • Removed the non-standard nearestViewportElement and farthestViewportElement properties from SVGGraphicsElement, aligning with the SVG2 specification.
    • Scrolling
    • Web API
      • Added support for a wider range of characters in DOM element and attribute names, aligning with the updated WHATWG specification.
    • Web Extensions
    • Web Inspector
      • Added support for showing contrast information in the Color Picker when editing background color properties.
    • WebAssembly
  • Introducing the JetStream 3 Benchmark Suite | WebKit
    • https://webkit.org/blog/17899/introducing-the-jetstream-3-benchmark-suite/
    • クロスブラウザベンチマークスイートの大規模アップデート
    • WebAssembly の性能測定方法が刷新され、全体のライフサイクルをスコアリングする方式に変更された。
    • JSC の WasmGC や BigInt、非同期関数の最適化が行われ、約 10%の性能向上が実現された。
  • Release Notes for Safari Technology Preview 241 | WebKit
    • https://webkit.org/blog/17917/release-notes-for-safari-technology-preview-241/
    • Accessibility
    • Animations
    • CSS
      • Added support for the stretch keyword in box sizing properties.
      • Added stable support for CSS scroll anchoring.
    • Canvas
    • Forms
    • HTML
      • Added support for the auto keyword in the sizes attribute on <img> elements, enabling automatic size calculation based on the rendered layout width.
    • Images
    • JavaScript
    • MathML
    • Media
    • Networking
    • Printing
    • Rendering
    • SVG
    • Storage
      • Added support for setting maxAge in the Cookie Store API via cookieStore.set().
    • Web API
      • Added support for fractional coordinates in PointerEvent and TouchEvent properties such as clientX/clientY, pageX/pageY, offsetX/offsetY, and screenX/screenY, while MouseEvent values remain whole.
    • Web Inspector
    • WebRTC
      • Added support for the RTCRtpCodec dictionary and related constructs.
  • Name-only @container queries: A solution to the naming wars
  • Release Notes for Safari Technology Preview 242 | WebKit
    • https://webkit.org/blog/17934/release-notes-for-safari-technology-preview-242/
    • Accessibility
    • CSS
      • Added support for the CSS attr() function from CSS Values Level 5.
      • Added support for the oblique-only value for font-synthesis-style as defined in CSS Fonts Level 4.
    • Forms
    • HTML
      • Added support for the closedby attribute on <dialog> elements.
    • Images
      • Resolved Issues
    • JavaScript
      • Resolved Issues
    • Media
      • Resolved Issues
    • Networking
      • Added support for secure cookies on loopback hosts.
    • Rendering
      • Resolved Issues
    • SVG
      • Added support for the lang and xml:lang attribute in SVG.
      • Resolved Issues
    • Scrolling
      • Resolved Issues
    • Tables
      • Resolved Issues
    • Web API
      • Added support for getAllRecords() and IDBGetAllOptions in the IndexedDB API.
    • WebRTC
      • Added support for RTCRtpReceiver.jitterBufferTarget.
      • Added support for video source width and height in RTC stats.

Standard Positions

Other

Edge 動向

Stable: 147

Updates

Other

  • Understanding Defender AV Scans - text/plain
    • https://textslashplain.com/2026/04/10/understanding-defender-av-scans/
    • Microsoft Defender Antivirus は、ユーザーの注意を必要とせず、バックグラウンドで静かに動作することを目的としている。
    • 無料で Windows に含まれているため、他の有料アンチウイルス製品のようにユーザーに煩わしさを与えない。
    • デフォルトのモードは「リアルタイム保護(RTP)」で、ファイルが開かれる際に自動的にスキャンを行う。
    • RTP が有効な場合、ファイルが悪意のあるものであっても即座にブロックされる。
    • Windows Security App の設定で RTP をオフにしても、再起動後や一定の間隔で自動的にオンに戻る。
    • Legacy Context メニューから「Microsoft Defender でスキャン...」を選ぶことができるが、通常は何も起こらないように見える。
    • アーカイブファイル(Zip、7z など)の場合、このスキャンコマンドが有効であり、アーカイブの内容を抽出せずにスキャン可能。
    • 手動スキャンの必要性については誤解が多く、RTP があるため手動スキャンは基本的に不要。
    • 他のスキャンオプションにはクイックスキャン、フルスキャン、カスタムスキャン、オフラインスキャンがある。
    • オフラインスキャンは、Windows が起動する前にスキャンを開始し、特定のマルウェアを検出することができる。
    • 不安なファイルがある場合は、VirusTotal にアップロードして複数のアンチウイルスエンジンでスキャンすることを推奨。
  • Attack Techniques: RMM Abuse - text/plain
    • https://textslashplain.com/2026/04/24/attack-techniques-rmm-abuse/
    • 記事は、社会保障局のウェブサイトを模したフィッシング攻撃について述べている。
    • 偽のメールには、受取人に「利益を確認する」よう誘導するリンクが含まれている。
    • リンクをクリックすると、インドの大学のサイトを経由して、悪意のあるファイルをダウンロードするページにリダイレクトされる。
    • ダウンロードされるファイルは、偽の PDF ファイルを装った Windows Installer パッケージである。
    • このファイルは、正当な企業によって認証されており、VirusTotal で「クリーン」と評価されている。
    • 実際には、AteraAgent というリモート監視管理ツールがインストールされ、攻撃者がデバイスを制御できる状態になる。
    • AteraAgent の合法的な使用が多いが、悪用されるとマルウェアのような影響を及ぼす。
    • Atera はインストール時に通知画面を追加しているが、さらなる対策が必要である。
    • 一般ユーザーは、メールやファイルダウンロードに注意を払い、セキュリティ意識を高めるべきである。
    • 企業は、アプリケーション制御ソフトウェアを使用して RMM ツールをブロックすることで、攻撃を防ぐことができる。
  • Add Webauthn remoteClientDataJSON extension explainer (#1306)

WHATWG/W3C 動向

TPAC

Draft

Open UI

WHATNOT

  • https://github.com/whatwg/html/issues?q=%20WHATNOT%20meeting%20
  • 2026-03-26
    • https://github.com/whatwg/html/issues/12317
    • Stage2 (Request): HTML in Canvas
      • DOM のスナップショットが Canvas に描画される仕組みで、それを JS で操作できるようになる。ので、ブラウザは知っているが JS からは取得できなかった情報が読めるようになる
      • ハイコントラストモード、フォント、Form、アクセントカラーなどのプライバシー観点を整理
      • API デザインのレビューが不十分との理由で carryover
    • Popover implicit anchor
      • Chrome 実装に合わせる方向
  • 2026-04-02
    • https://github.com/whatwg/html/issues/12322
    • Chris Wilson が 4/19 で Google を退くため、WHATNOT のチェアを Johnny Stenback が引き継ぐことに
    • Tick. | in progress
    • Stage2 (Carryover): HTML in Canvas
      • ハイコントラストモードは露出する方針
      • 1Password などの拡張が Canvas 内に出すサジェストをホストの JS で読めたりするのでは?との懸念があったが、これらの UI は cross-origin iframe で same-origin policy で隔離されてるので問題なさそう
      • Mozilla が web compat と finger printing の観点で指摘
    • popover=hint の挙動整理
      • Jake と Mason の合意で大幅に整理
      • そもそも hint の中に auto を出すのは禁止
        • hint 内で showPopover(auto) は例外、HTML 属性の方は no-op + console warning
      • ただし select が auto として振る舞うので、hint とネスト時の競合解決は別 issue で議論
    • Platform-provided behaviors for custom elements
      • ElementInternals に submit など挙動を渡せるようにするところから始めていくので合意
  • 2026-04-09
    • https://github.com/whatwg/html/issues/12341
    • Stage2 (Confirmed): HTML in Canvas
      • locale 露出(日付入力の並び順などから取れる)など残課題は Stage 3 で対応
      • ARIA WG からの反応も好意的で、Figma などからも強い需要
    • Upstream Document Picture-in-Picture
      • WICG から whatwg/HTML, Fullscreen, CSSWG へ upstream する提案
      • Anne が media working group と相談、モバイル対応が今後の論点
  • 2026-04-16
  • 2026-04-23

CSSWG

  • https://www.w3.org/blog/CSS/
  • https://lists.w3.org/Archives/Public/www-style/
  • [css-conditional] @supports-condition for larger feature queries and named reuse
    • https://github.com/w3c/csswg-drafts/issues/12622
    • @supports を拡張し、任意の CSS を直接テストできる @supports-condition
    • @supports (--foo) で @custom-media 同様カスタム supports condition として利用できるように
  • [css-mixins-1] Split CSS Mixins Level 1 into levels
  • [css-mixins-1] Using a scoping rule breaks author expectations
  • Proposal: Declarative Web Haptics
  • [css-fonts-5] meta text-scale limits
    • https://github.com/w3c/csswg-drafts/issues/13557
    • iOS などで指定の仕方によっては極端に文字サイズが大きくなり、レイアウトが破綻する可能性が否めない
    • scale の上限を設定する仕組みを導入してはどうか
    • RESOLUTION では scale keyword を廃止し、上限を指定できるように(どこまでスケーリングに対応したかには、責任を持てる)
    • 一方で、「上限以上に拡大したいユーザは一定数いるはずで、それ著者がわで制限すべきではない」という反論が大きく、廃止にはならなそう
  • Proposal: CSS Text Transitions & Animations
    • https://github.com/w3c/csswg-drafts/issues/13689
    • 単語の文字自体をアニメーションさせる提案
    • span などで区切って実装していたアニメーションに対する標準側のソリューション
    • 何を"単語"と指定して文字をアニメーションするか
    • BlinkOn のネタ
  • [css-conditional] Layout State Container Queries: column-position feature
  • Form Controls 系諸々整備

Other

TC39/TC55 動向

Meeting

  • 2026-03
    • https://github.com/tc39/agendas/blob/main/2026/03.md
    • https://github.com/tc39/notes/pull/404/changes
    • Temporal が Firefox と Chrome に ship され Stage 4 に
    • Import Text が Stage 3 に
      • ECMA-262 では textual data を扱う仕様として明記されたが、WHATWG で特に MIME タイプを見て制限をするようなことはしない
      • application/yaml など明らかにテキストとして扱うべきだが text/ で始まらないものがあり不明瞭、リストを仕様で持つと新しい MIME タイプの普及を阻む
      • UTF-8 として解釈できない部分は � (U+FFFD) に置換される
      • https://github.com/whatwg/html/pull/11933
    • Stage 2.7 ESM Phase Imports の議論
      • 構造化複製アルゴリズムを通すと同一の source key を持つが別オブジェクトの ModuleSource を作ることができる
      • 別オブジェクトの ModuleSource が同じネームスペースオブジェクトを返すのは不自然という議論が起きている
      • https://github.com/tc39/proposal-esm-phase-imports/pull/58
    • Curtailing the power of "Thenables" が Stage 2 に
      • Mozilla DOM チーム協力のもと WebIDL the promises resolution steps をこの仕様に置き換えて WPT を実行した
      • 概ねテストが通ったので互換性の問題はなさそう

Proposals Diff

New Proposals

WinterTC

Other

IETF 動向

IETF

WG

Other

  • What's Missing in the 'Agentic' Story
    • https://www.mnot.net/blog/2026/04/24/agents_as_collective_bargains
    • コンピュータの歴史において、機械が指示通りに動作するという前提があった。
    • かつてのソフトウェアは、明確な機能を持ち、悪意のあるソフトウェアとは区別されていた。
    • 現代の技術では、ユーザーが信頼する相手が多く、信頼関係が成立しにくい。
    • インターネットに接続されたデバイスは、ユーザーの情報を収集し、第三者と共有するリスクがある。
    • テレビやスマートフォンなど、ユーザーのプライバシーを侵害する事例が増加している。
    • クラウドコンピューティングの普及と企業の利益追求が、信頼の低下を招いている。
    • ユーザーエージェント(Web ブラウザ)は、ユーザーの利益を代表し、他者とのバランスを取る役割を果たす。
    • AI エージェントの開発には、ユーザーの権利を尊重する明確な役割が必要である。
    • 現在の AI エージェントは、ユーザーの利益を十分に考慮していない可能性がある。
    • AI エージェントの透明性と規制の必要性が強調されている。

周辺動向

ベンダー動向

セキュリティ動向

Other

イベント

Wrap Up

  • Chrome
    • Chrome 148 beta
    • Ship
      • Name-only container queries in CSS
      • Programmatic scroll promises
      • Capability Elements usermedia MVP
      • Focusgroup
      • CSS URL request modifiers
      • Popover=hint behavior changes
    • Prototype
      • Element's matchContainer()
      • overscroll-behavior: chain
      • CSS text-decoration-inset
      • CSS4 text-decoration-skip-spaces
      • Implement visibility:collapse for flex items
      • Private Verification Tokens
      • Main thread Atomics.wait
    • Experiment
      • Declarative CSS module scripts
      • HTML-in-canvas
      • Parse processing instructions in HTML
    • Ready for Developer Testing
      • Overscroll Gestures
    • Deprecate and Remove
    • PSA
      • Remove explicit border color UA stylesheet rule for tables
      • IndexedDB: SQLite backend
    • other intents
    • web.dev
    • Google Developer Blog
    • Chrome Developers
      • name 属性と label テキストで判定で autocomplete をのカタカナ、ひらがなを自動判定
      • Connection-Allowlist
      • Soft Navigations が origin trial
    • other blogs
      • back button hijacking(戻るボタンで広告出る)が Google 検索でスパム扱い
      • Q1 2026 Summary from Chrome Security
      • プロンプトインジェクション on the Web
      • バックボタンハイジャッキングが Google 検索でスパム扱いに
    • other
      • JSIR
      • 報奨金制度見直し
      • Gemini in Chrome が日本でロールアウト開始
      • BlinkOn
        • HTML in Canvas
        • Declarative Text Animations
  • Firefox
    • 150
      • ariaNotify()
      • light-dark() on images
      • color-mix() with an arbitrary number of colors
      • The revert-rule CSS keyword
      • sizes="auto" for lazy loaded responsive images
    • Ship
      • Document Picture-in-Picture API
      • Container Style Queries
      • Prototype and Ship: position-anchor: normal
    • Prototype
      • Importing text modules
    • other intents
    • MDN Blog
    • Standard Position
      • Negative : Observable
    • other
  • Safari
    • TP 240
    • JetStream 3
    • TP 241
      • Added stable support for CSS scroll anchoring.
      • auto keyword in the sizes attribute on img
      • maxAge in cookieStore.set().
    • Name-only @container queries
      • blog が消える
    • TP 242
      • Added support for the CSS attr() function from CSS Values Level 5.
      • Added support for the closedby attribute on dialog elements.
      • Added support for getAllRecords() and IDBGetAllOptions in the IndexedDB API.
    • Standard Position
      • Positive
        • ViewTransitions: waitUntil() method
        • Deprecate and remove externally loaded entities in XML parsing
        • Support shadowrootslotassignment attribute
        • Import Bytes
      • Neutral
        • Modern Algorithms in WebCrypto
      • Oppose
        • CPU Performance API
    • other
      • Tim Cook Retire
        • Tim Cook が Apple CEO 退任。
        • John Ternus が 9/1 付で新 CEO に就任。
  • Edge
    • Passkey 同期の開発裏側
  • W3C/WHATWG
    • Draft
      • FPWD: CSS Image Animation Module Lv1
    • Open UI
    • WHATNOT meeting
      • Chris Wilson が Google をやめた。新しい Johnny Stenback
      • Stage2 HTML in Canvas
      • Jake と Mason による popover=hint の大幅整理
      • Stage2 Reference Target
      • To-be Stage3 Form Control Range
    • CSSWG
      • @supports-condition の指定方法が @supports (--foo) などで利用できるように
      • Mixin の仕様がめっちゃ大きくなったから分割
      • CSS から宣言的に Haptic フィードバックを指定する
      • RESOLUTION では scale keyword を廃止し、上限を指定できるように
      • 単語の文字自体をアニメーションさせる提案
      • flex/grid/multi-column 内で何番目の col/row かを CQ で取得
    • Other
  • TC39
    • WinterTC
      • package maps という仕様について議論している
  • IETF
    • RSS を自動検出する /.well-known/feed-menu.json
    • Speculation を拒否するステータス 419
    • ML-DSA in TLS1.3
    • Merkle Tree で CT モニタリングの提案
    • IPv8 の個人ドラフトがなぜか話題に
  • 周辺動向
    • ベンダー動向
      • Serve を Crates.io に公開
      • CF Shared Dictionaries サポート予定
      • Let's Encrypt 証明書確認
    • セキュリティ動向
    • Other