ep178 Monthly Platform 202505

published_at
2025-05-31
guest
@myakura
guest
@saku
toc
headings

Theme

第 178 回のテーマは 2025 年 5 月の Monthly Platform です。

Show Note

Chrome 動向

Stable: 137

Updates

  • New in Chrome 136
    • https://developer.chrome.com/blog/new-in-chrome-136
    • Highlights from this release
    • RegExp.escape is now Baseline Newly available
    • :visited link history is now partitioned
    • Upgrade credentials to passkeys
      • プロンプト無しで自動で Passkey を登録
      • ユーザがパスワードを保存しているサイトのみ
  • What's new in DevTools, Chrome 136
  • Chrome 137 beta
    • https://developer.chrome.com/blog/chrome-137-beta
    • CSS and UI
      • The if() function
      • The reading-flow and reading-order properties
      • offset-path: shape()
      • Support transform attribute on SVGSVGElement
      • Allow <use> to reference an external document's root element by omitting the fragment.
      • System accent color for accent-color property expanded to Windows and ChromeOS
      • view-transition-name: match-element
    • Web APIs
      • Align error type thrown for 'payment' WebAuthn credential creation
      • Blob URL Partitioning: Fetching/Navigation
      • Call stacks in crash reports from unresponsive web pages
      • Canvas Floating Point Color Types
      • Disallow non-trustworthy plaintext HTTP prerendering
      • Document-Isolation-Policy
      • Ed25519 in Web Cryptography
      • IP address logging and reporting
      • JavaScript Promise Integration
      • Language Detector API
      • Restrict float attributes and arguments on SVGMatrix, SVGRect, and SVGPoint
      • Selection API getComposedRanges and direction
      • Web app scope extensions
      • WebAssembly Branch Hints
      • WebGPU: GPUTextureView for externalTexture binding
      • WebGPU: copyBufferToBuffer overload
    • New origin trials
      • Full frame rate render blocking attribute
      • Pause media playback on not-rendered iframes
      • Rewriter API
      • Writer API
  • New in Chrome 137
  • Chrome 138 beta
    • https://developer.chrome.com/blog/chrome-138-beta
    • CSS and UI
      • CSS stretch sizing keyword
      • CSS sign-related functions: abs(), sign()
      • CSS env variable for OS-level font scale
      • CSS sibling-index() and sibling-count()
      • Interpolation progress functional notation: CSS progress() function
      • Viewport Segments Enumeration API
    • Web APIs
    • Add support for video frame orientation metadata to WebCodecs
      • Crash Reporting API: is_top_level and visibility_state
      • Escape < and > in attributes on serialization
      • Integrity Policy for scripts
      • Predictable reported storage quota
      • pushsubscriptionchange event upon resubscription
      • Speculation rules: Add prefetchCache and prerenderCache to Clear-Site-Data header
      • Speculation rules: target_hint field
      • Strict Same Origin Policy for Storage Access API
      • Summarizer API
      • Language Detector API
      • Translator API
      • Web app scope extensions
      • Web serial over Bluetooth on Android
    • Deprecations and removals
      • Deprecate asynchronous range removal for Media Source Extensions
      • Remove SwiftShader fallback
  • 10 updates from Google I/O 2025
    • https://developer.chrome.com/blog/web-at-io25
    • Carousels are now easier than ever to build with a few lines of CSS and HTML
    • Declarative Popovers: Introducing the new Interest Invoker API
    • Several built-in AI APIs using leading models like Gemini Nano are available, now featuring multimodal capabilities in the Prompt API
    • Client-side AI extends with Firebase and Gemini Developer API to provide a hybrid AI solution
    • AI assistance in Chrome DevTools supports your debugging workflow across styling, performance, and more
    • Real-user data, Lighthouse Insights, and AI features in the Chrome DevTools Performance panel helps you understand and fix performance issues
    • Baseline features availability is now in your familiar tools: VS Code, ESLint, and more
    • Gain a complete view of web feature support with Web Platform Dashboard
    • Developer trial for a streamlined sign-in experience with Credential Manager
  • Reshaping user authentication and identity verification
  • AI APIs are in stable and origin trials, with new Early Preview Program APIs
  • What's new in DevTools, Chrome 137
  • Enhancing Gemini Nano: delivering higher quality summaries with LoRA
  • Watch our AI talks at I/O 2025
  • What's New in WebGPU (Chrome 137)

#### Intents

#### Other

### Firefox 動向

#### Stable: 139.1

#### Updates

#### Intents

#### Newsletter

#### MDN / Open Web Docs

  • Color models for humans and devices

#### Standard Position

#### Other

  • https://forest.watch.impress.co.jp/docs/serial/yajiuma/2012339.html
  • NHK プラスは Firefox をサポート対象外にし、対象外というメッセージを出している
  • ただこの表示は Picture-in-Picuture API の feature detection を使っているらしく、Firefox の compat shim 導入により NHK プラスが動くようになった
  • ただ NHK が意図的に Firefox をブロックしている可能性があり、動き続けるかはわからないという話も

### Safari 動向

#### Stable: 18.5

#### Updates

  • Polishing your typography with line height units | WebKit
  • Easier layout with margin-trim | WebKit
  • Release Notes for Safari Technology Preview 218 | WebKit
    • https://webkit.org/blog/16861/release-notes-for-safari-technology-preview-218/
    • Added support for crossorigin() and referrerpolicy() modifiers on CSS image loads.
    • Added more support for Temporal.
    • Added support for more web fonts in Lockdown Mode by replacing a fragile hard-coded allowlist with a safe parser that handles a broader range of fonts without compromising security.
    • Added support for pointer-events="bounding-box" for SVG group containers.
    • Added support for the request-method content blocker trigger field.
    • Added support in the Debugger tab for stepping over an await statement as though it is synchronous code.
    • Added support for RTCRtpScriptTransformer.generateKeyFrame to take a rid parameter.
  • Add wide gamut P3 and alpha transparency to your color picker in HTML | WebKit
    • https://webkit.org/blog/16900/p3-and-alpha-color-pickers/
    • <input type=color> の picker は 16 進数 RGB ベースで始まった
    • そのディスプレイの進化にともない色表現が増えた
    • しかし、picker は進化が止まっていた
    • colorspacealpha 属性で UI を変更できる
  • How to have the browser pick a contrasting color in CSS | WebKit
    • https://webkit.org/blog/16929/contrast-color/
    • contrast-color() に色を渡すと、黒/白のコントラストの高い方を選ぶ
    • WCAG2 のアルゴリズムなので必ずしも視覚的にも高いとは限らない
    • color-contrast() と異なり WCAG3 になったらアルゴリズムを変えることも視野
    • 白/黒固定なのはその方がシンプルかつ、アルゴリズム変えても互換を壊しにくいため
    • APCA については議論を進めていく
  • WebKit Features in Safari 18.5 | WebKit
  • Release Notes for Safari Technology Preview 219 | WebKit
  • Two lines of Cross-Document View Transitions code you can use on every website today | WebKit
  • Release Notes for Safari Technology Preview 220 | WebKit
  • https://webkit.org/blog/16973/release-notes-for-safari-technology-preview-220/
  • CSS
    • Added support for field-sizing to override the default sizing behavior of form elements and adjust size to fit their contents.
  • DOM
  • JavaScript
    • Added support for @@dispose and @@asyncDispose from the Explicit Resource Management Proposal behind runtime flag.
    • Added support for SuppressedError from the Explicit Resource Management Proposal behind runtime flag.
    • Added support for DisposableStack constructor from the Explicit Resource Management Proposal behind runtime flag.
  • Media
  • Rendering
  • Web Animations
  • Web API
  • Web Inspector
  • WebRTC

#### Standard Positions

#### Other

### Edge 動向

#### Stable: 137

#### Updates

#### Other

### WHATWG/W3C 動向

#### Draft

#### Open UI

WHATNOT

#### Other

  • https://github.com/w3c/aria/issues/2538
  • The Accessibility Compat Data Project
  • アクセシビリティに関する BCD 相当のデータセット、ACD(Accessibility Compat Data) の提案
  • aria-at は対象が APG に則っており限定的。
  • a11ysupport.io は aria 属性だけでこれも限定的。
  • Web 機能の AT とブラウザでの互換性データを含む、BCD に類似したデータセットを作成

### TC39 動向

#### Meeting

  • 2025-05
  • 来月

#### Proposals Diff

#### New Proposals

#### WinterTC

  • https://github.com/WinterTC55/admin/issues/117
  • Review of the notes for the last meeting (Minutes, 03 April 2025 #114) (5 min)
  • Approval of this meeting's agenda (2 min)
  • Continue WPT review: (30 min?)
    • DOMException
    • Event
    • EventTarget
    • Fetch-related APIs (Header, Request, Response)
    • WASM
    • globalThis: navigator, performance.now queueMicrotask, setInterval/setTimeout, structuredClone, atob/btoa
  • Continue going through the fetch spec (starting with fetch response handover algorithm, step 4) (30 mins?)

#### Other

### IETF 動向

#### WG

  • RFC
  • Work
  • Meeting

#### Other

  • IETF 125 booked for Shenzhen, China for March 14-20, 2026

### 周辺動向

#### ベンダー動向

#### セキュリティ動向

  • #### Other
  • Fit-to-Width Discussions & Feedback - Roma's Unpolished Posts
    • https://blog.kizu.dev/fit-to-width-discussions-and-feedback/
    • Blink でプロトタイプが進んでいる「fit-width text」の抱えるアクセシビリティ的な懸念とその議論の現状と Explainer への著者からのフィードバック
    • fit-width text は text-shrinktext-grow の二つ提案されている
    • fit-width text の全体的な懸念として、viewport 幅に依存して font-size が変わる場合、ブラウザのズームをしても文字サイズが大きくならないみたいなことが起こる
      • WCAG 2.1 の Success Criterion 1.4.4 Resize Text を満たせなくなる
      • WCAG の Success Criterion 云々はないけど、viewport 依存の fit-width text であれば、ズームアウトしても文字サイズが小さくならないみたいな話もある
    • 解決策として、fit-with text の適用範囲を 200% までの拡大とし、それ以降は viewport を見ないようにして、ブラウザのズーム機能が効くようにしよう
      • この閾値の決め方にも色々オプションが検討されている(relaxed, strict, viewport にそもそも依存してるか検知するなど)
    • text-shrinktext-grow だが、text-shrink は要らないという主張
      • プログレッシブエンハンスメント的な問題がある(grow にはないのでポジティブ)
    • その他シンタックスに関する考え
  • Are 'CSS Carousels' accessible?
    • https://www.sarasoueidan.com/blog/css-carousels-accessibility/
    • CSS carousels のアクセシビリティに関する考察
    • ブラウザは ::scroll-marker-grouptablist として::scroll-markertab として支援技術に公開するが、そもそもカルーセルと tab では動作も目的も違うもので、アクセシビリティ的に誤りであり、セマンティクスを分けるために HTML 要素が必要だという主張
    • ::scroll-marker みたいなインタラクティブな擬似要素を CSS で作れていいのか
    • CSS による見た目の実装と HTML による意味論の分離を保つべき。OpenUI による HTML ネイティブ要素の標準化に期待
    • 現状では CSS Carousels は実験的で本番環境での使用には適していないとしている
  • Reading flow ships in Chrome 137 - Rachel Andrew
  • Houdini Re-Revisted
  • Polyfilling CSS with CSS Parser Extensions - Bram.us
  • Interop Unites Browser Makers To Smooth Web Inconsistencies - The New Stack
  • スマホ新法、12 月 18 日施行へ ガイドライン案を公表 - Impress Watch
  • Resilient Import Maps - Better Theme Development and Beyond (2025) - Shopify
  • ### イベント

### Wrap Up

  • Chrome
    • 136
      • Upgrade credentials to passkeys
    • 137
      • CSS if()
      • reading-flow / reading-order
      • view-transition-name: match-element
    • 138 beta
      • CSS stretch
      • CSS abs() / sign()
      • CSS env for OS-level font scale
      • CSS sibling-index() / sibling-count()
      • Summarizer API
    • I/O 2025
      • CSS Carousels
    • Ship
      • system accent color
      • Sec-Purpose: prefetch
      • CSS env for OS-level font scale
      • request-close
    • Prototype
      • CSS fit-width text
      • caret-shape
      • Prompt API
      • local style references
      • @scroll-state scroll direction
      • Trust Anchor Identifiers
      • CSS color for <input type="color">
      • ident()
      • Responsive iframes
      • CSS Anchored Fallback Container Queries
      • URLPattern generate()
    • Experiment
      • Cache sharing for extremely-pervasive scripts
    • web.dev
      • Baseline support in VSCode
    • Google Developer Blog
    • Chrome Developers
      • CSS reading-flow for logical sequential focus navigation
      • Device Bound Session Credentials Origin trial
      • Automatically create passkeys in Google Password Manager
      • Enhancements to the <permission> element
    • Chromium blog
    • other blogs
    • other
      • v8
        • Explicit Compile Hints
        • Explicit Resource Management
  • Firefox
    • 138
      • Error.isError()
    • 139
      • hidden=until-found
      • Temporal
      • requestClose()
    • Ship
      • Explicit Resource Management
    • Prototype
    • other intents
    • MDN Blog
    • Standard Position
      • CSS interpolate-size property and calc-size() function
      • Global Privacy Control (GPC)
    • other
      • pwn2own で報告された脆弱性の報告に 21 時間で対応した
      • Firefox のフロントエンドで Strict CSP を導入したのもあり、サンドボックスのエスケープが発生しなくなった
      • 早い段階からアクセシビリティを考慮する「Shift Left」アプローチを採用した
      • NHK プラスが Firefox をサポート対象外にしていることに対する意見
  • Safari
    • TP 220
      • field-sizing
    • Standard Position
      • ToggleEvent source attribute
    • other
      • contrast-color()
      • <input type=color>
  • Edge
    • Creating a more accessible web with Aria Notify
    • Microsoft's Bing share is now 12.2%, Google drops to 79.10%, and it's not due to ChatGPT
    • Introducing the Prompt and Writing Assistance APIs
    • Empowering developers and organizations: Microsoft Edge innovations at Build
  • W3C/WHATWG
    • Draft
      • WD Update: CSS Anchor Positioning
      • FPWD: CSS Functions and Mixins Module
    • Open UI
      • select multiple
      • range multiple
      • scroll command
    • WHATNOT meeting
      • CloseWatcher のバグ
    • Other
      • whatwg stage process. moveBefore() stage4
      • Web interoperability のため implementer の定義
      • Accessibility Compat Data
  • TC39
    • WinterTC
      • WPT のレビューがメイン
  • IETF
  • 周辺動向
    • ベンダー動向
      • Opera to Neon
      • Arc to Dia
    • セキュリティ動向
      • 3000 億円規模の大規模金融詐欺
    • Cookie 動向
    • Other
      • Fit-to-Width の discussion
      • Carousels の a11y
      • Houdini Re-Revisted