ep96 Monthly Web 202204
- published_at
- 2022-05-01
- guest
- @myakura
- toc
-
headings
Theme
第 96 回のテーマは 2022 年 4 月の Monthly Web です。
Show Note
Chrome 動向
Stable: 101
Updates
-
New in Chrome 100
- https://developer.chrome.com/en/blog/new-in-chrome-100/
- 100 Cool Web Moments
- Reduced User-Agent string
- Multi-screen window placement API
- Celebrate Chrome 100 with #100CoolWebMoments
-
Chromium Blog: Chrome 101: Federated Credential Management Origin Trial, Media Capabilities for WebRTC, and More
- https://blog.chromium.org/2022/03/chrome-101-federated-credential.html
- Reduce User Agent String Information
-
Origin Trials
-
New Origin Trial
- Federated Credential Management API
-
Completed Origin Trials
- Priority Hints
-
New Origin Trial
-
Other Features in this Release
- AudioContext.outputLatency
- font-palette and Custom
@font-palette-values
Palettes hwb()
CSS function- Make Popup Argument for
window.open()
Evaluate to 'true' - MediaCapabilities API for WebRTC
- Secure Payment Confirmation API V3
- USBDevice
forget()
- WebUSB sameObject Behavior
-
Deprecations, and Removals
- Remove WebSQL in Third-Party Contexts
-
What's New In DevTools (Chrome 101)
- https://developer.chrome.com/en/blog/new-in-devtools-101/
- Import and export recorded user flows as a JSON file
- View cascade layers in the Styles pane
- Support for the
hwb()
color function - Improved the display of private properties
- Miscellaneous highlights
- [Experimental] New timespan and snapshot mode in the Lighthouse panel
-
Deprecations and removals in Chrome 101
- https://developer.chrome.com/en/blog/deps-rems-101/
- Reduce user agent string information
- Remove WebSQL in third-party contexts
-
Chromium Blog: Chrome 102: Window Controls Overlay, a Host of Finished Origin Trials, PWAs as File Handlers and More
- https://blog.chromium.org/2022/04/chrome-102-window-controls-overlay-host.html
- Window Controls Overlay for Installed Desktop Web Apps
-
Completed Origin Trials
- Capture Handle
- Network State Partitioning
- Speculation Rules
- Subresource loading with Web Bundles
-
Other Features in this Release
- File Handlers Web App Manifest Member
- inert Attribute
- Local Font Access
- Navigation API
- New until-found Value for the hidden Attribute
- Origin Private File System extension: AccessHandle
- Private Network Access Preflight Requests for Subresources
- Secure Payment Confirmation API Changes
- WebHID exclusionFilters Option in requestDevice()
-
Deprecations, and Removals
- Deprecate PaymentRequest.show() without User Activation
- Remove SDP Plan B
Intents
- Ship: Digital Goods API 2.1
-
Ship: Media Queries Level 4 Syntax & Evaluation
- https://groups.google.com/a/chromium.org/g/blink-dev/c/E4Vd7w70OsU/m/Q43yNphBEwAJ
- Lv3 まで
@media (min-width: 300px) and (max-width: 750px)
- Lv4 では
@media (300px <= width <= 750px) {
-
Ship: SerialPort
forget()
- Ship: Local Fonts Access API
- Ship: Cookie Expires/Max-Age attribute upper limit
-
Ship: Speculation Rules (Prefetch)
- https://groups.google.com/a/chromium.org/g/blink-dev/c/3Ga0Y2BEz7E/m/3U5zwXjWGwAJ
- Prefetch 限定での Speculation Rules のリリース
- prerendering のトライアルをしている publisher のために gapless launch したいらしい
-
Ship: Same-origin prerendering triggered by the speculation rules API
- https://groups.google.com/a/chromium.org/g/blink-dev/c/EdW7O8yG7Jc
- Speculation Rule で書かれた Same Origin での Prerendering のみ ship
-
Ship: Subresource Loading with Web Bundles
- https://groups.google.com/a/chromium.org/g/blink-dev/c/VS9UgOC7Wqc/m/P0vG6qfEEwAJ
- v1 ~ v3 に分割リリースの予定。今回は v1 でコアの機能のみをリリースする。
- v2 はキャッシュ対応, bundle preload, bundle dependencies など
- Ship: Navigation API
-
Ship: Early Hints preload/preconnect during Navigation
- https://groups.google.com/a/chromium.org/g/blink-dev/c/8iIvkmZNUhU
- Navigation 中の 103 による preload/preconnect をサポート
- CDN 向けだった機能がブラウザでも動くように
- Ship: Restrict Gamepad usage
- Ship: Allow popstate to fire before load
- Ship: File Handling
- Ship: ARIA Attribute Reflection for role attribute
-
Ship:
AbortSignal.timeout()
Static Method -
Prototype and Ship: RFC 9225
- https://groups.google.com/a/chromium.org/g/blink-dev/c/qRzX_B5OByA/m/XE6B4s1OEAAJ
- Joke RFC : Software Defects Considered Harmful の intents
- Prototype and Ship: Permissions Policy for Web Bluetooth API
- Implement and Ship: Fullscreen Capability Delegation
- Prototype: WebAuthn remote desktop support
- Prototype: Add .avif to permitted Web Share file extensions
- Prototype: IndexedDB: batchGetAll()
-
Prototype: CSS toggles
- https://groups.google.com/a/chromium.org/g/blink-dev/c/06dTetmFjEU/m/NdkJtoVYHAAJ
- CSS に toggle 可能な state を持たせる
- これをクエリできるようにし、状態でクエリしたり、状態に紐づいたスタイルを定義可能に
- Prototype: "deflate-raw" compression format
-
Prototype: Isolated Web Apps
- https://groups.google.com/a/chromium.org/g/blink-dev/c/9r7YaFuASec
- メッセージングアプリでは、サーバが侵害され悪意のあるコードが提供される脅威がある
- バージョン管理され、署名されたパッケージをストアで配布したい
- そこで Signal や WhatsApp は Chrome Apps が無くなり、ダウンロードする Electron に移行
- このケースを WebBundle + CSP などを用いて Web で実現するのが IWA
-
Prototype: Element.isVisible method
- https://groups.google.com/a/chromium.org/g/blink-dev/c/IH33LShRgt0
- あらゆる要因を考慮して visible かを返す API
- Experiment: Viewport-height client hint
- Experiment: Network State Partitioning (again)
-
Experiment: Remove clamping of
setTimeout(..., 0)
-
Experiment: Increased max nesting level for
setTimeout(0)
- Experiment: Load common payloads from privacy-preserving single-keyed cache
- Experiment: Deprecate and remove merchant identity in "canmakepayment"
- Extend Experiment (2nd): Same-origin prerendering triggered by the speculation rules API
- Extend Experiment: User-Agent Reduction
- Extend Origin Trial: Trial for SharedArrayBuffers in non-isolated pages on Desktop platforms
- Continue Experimenting: Digital Goods API v2 (M100, Android)
- Ready for Trial: Focusgroup
- Change:
- Unship:
- Remove:
-
Deprecate and Remove: Deprecate
<param>
element's functionality -
PSA
- FYI Privacy Sandbox Ads APIs origin trial
- some tweaks to the Intent process
V8
- Faster initialization of instances with new class features · V8
Other
-
web.dev
- New to the web platform in March
- Deep dive into top web developer pain points
- Make your site picture perfect with images.tooling.report
- A modern web experience on Adobe Experience Manager with WorkBox
- google developer blog
-
google developer japan blog
- Google Developers Japan: Google ログイン JavaScript プラットフォーム ライブラリにおける認可サポートの終了について
- Google Developers Japan: Chrome の新しいスピード マイルストーン
- Google Developers Japan: Chrome 101: Federated Credential Management のオリジン トライアル、 WebRTC の MediaCapabilities など
- Google Developers Japan: プライバシー サンドボックスのテストで期待されること
- Google Developers Japan: Chrome の 100 個のバージョンを経て: その過程で学んだこと
- Google Developers Japan: Chrome が Speedometer で史上最高スコアを獲得したブラウザになれた理由
-
chrome developer blog
- Testing the Privacy Sandbox ads relevance and measurement APIs
- Making collapsed content accessible with hidden=until-found
- Introducing inert
- Participate in a Federated Credential Management API origin trial for IdPs
- Project Fugu API showcase
- Optimizing LCP using Signed Exchanges
- RenderingNG deep-dive: BlinkNG
- Join Privacy Sandbox developer office hours #1: learn about Chrome Origin Trials
- Securely embed content on your site
- Introducing Chrome Dev Insider
-
chromium blog
- Chromium Blog: What to Expect from Privacy Sandbox Testing
- canary
Firefox 動向
Stable: 99.0.1
Updates
- Firefox 99.0, See All New Features, Updates and Fixes
-
Firefox 99 for developers - Mozilla | MDN
-
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/99
- navigator.pdfViewerEnabled
- RTCPeerConnection.setConfiguration()
-
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/99
- MDN Plus now available in more countries - Mozilla Hacks - the Web developer blog
- Adopting users' design feedback - Mozilla Hacks - the Web developer blog
- Performance Tool in Firefox DevTools Reloaded - Mozilla Hacks - the Web developer blog
- Mozilla partners with the Center for Humane Technology - Mozilla Hacks - the Web developer blog
- Common Voice dataset tops 20,000 hours - Mozilla Hacks - the Web developer blog
Intents
- Ship: small/large/dynamic/logical viewport units
- Ship: prefers-contrast
- Prototype: TransformStreams and ReadableStream.pipeThrough
- Prototype: LargestContentfulPaint API
- Prototype: Import maps
- Prototype and ship: Block external protocols in sandboxed iframes
- Prototype and ship: wasm-unsafe-eval Content-Security-Policy directive
-
Prototype and ship: HTMLInputElement
showPicker()
- Implement: RTCRtpSendParameters.transactionId
- Unship: mozPreservesPitch
- Experiment:
- Change:
- Remove:
Other
- Internet spring cleaning: How to delete Instagram, Facebook and other accounts
- How to delete your Spotify account
- How to delete your Facebook account
- How to delete your Instagram account
- How to delete your Snapchat account
- How to delete your Twitter account
- How to delete your Google account
- How to delete your Amazon account
- How to delete your Venmo account
- How to delete your TikTok account
- How to delete your Spotify account
- These Weeks In Firefox: Issue 113 - Firefox Nightly News
- These Weeks In Firefox: Issue 114 - Firefox Nightly News
- [Article] 0. Firefox UI UX history · black7375/Firefox-UI-Fix Wiki
- Platform/2022PlannedWork - MozillaWiki
Safari 動向
Stable: 15.4
Updates
-
Release Notes for Safari Technology Preview 143
- https://webkit.org/blog/12563/release-notes-for-safari-technology-preview-143/
- Web Inspector
-
CSS Container Queries
- Added support for nested container queries (r290257)
- Added basic support for container units (r291474)
-
CSS Cascade Layers
- Added support for revert in @keyframes (r290457)
- Added support for revert-layer in @keyframes (r290729)
- Subgrid
-
CSS
- Implemented text-decoration as a shorthand (r290756, r291244)
- Implemented logical properties for CSS overscroll-behavior (r290422)
-
JavaScript
- Added CalendarDateTime parsing (r290248)
- Rendering
-
Web Animations
- Added support for passing an optional timeline to Element.animate() (r290655)
-
Added support for discrete animation to:
- background-blend-mode (r291041)
- clip-rule (r291042)
- color-interpolation (r291008)
- color-interpolation-filters (r291043)
- counter-increment (r291090)
- counter-reset (r291099)
- dominant-baseline (r291068)
- fill-rule (r291100)
- font-family (r291040)
- font-feature-settings (r291039)
- font-kerning (r291037)
- font-synthesis (r291103)
- font-variant-alternates (r291104)
- font-variant-caps (r291119)
- font-variant-east-asian (r291109)
- font-variant-ligatures (r291114)
- font-variant-numeric (r291147)
- font-variant-position (r291115)
- grid-template-areas (r291122)
- line-break (r290885)
- marker-end (r291226)
- marker-mid (r291227)
- marker-start (r291228)
- mask-clip (r291130)
- mask-composite (r291159)
- mask-mode (r291160)
- mask-origin (r291148)
- mask-repeat (r291161)
- mask-type (r291158)
- quotes (r291128)
- scroll-behavior (r291129)
- shape-rendering (r291171)
- stroke-linecap (r291163)
- stroke-linejoin (r291164)
- text-anchor (r291166)
- text-decoration-skip-ink (r290886)
- text-emphasis-style (r290888)
- text-rendering (r291157)
- vector-effect (r291170)
- SVG
-
Scrolling
- Allowed history swipe in scroller with overscroll-behavior (r291497)
-
WebAuthn
- Added support for authenticatorSelection.residentKey (r291176)
- Added fallback to attestation=none if requested but unavailable for platform authenticator (r290539)
- Enabled using WebAuthn within cross-origin iframe elements (r291018)
- Improved virtual authenticator support ( r291423 , r291321)
- WebGL
-
HTML
- Enabled the inert attribute by default (r290587)
-
Web API
- Enabled the Permissions API by default (r291116, r290301)
- Removed the 1ms minimum for setTimeout (r291476)
-
Media
- Implemented remote-inbound-rtp packetsLost (r290865)
- Accessibility
- File System Access
- Web Extensions
- Safari 15.5 Beta Release Notes | Apple Developer Documentation
Position
-
[webkit-dev] ChangeLog Deprecation Plans
- https://lists.webkit.org/pipermail/webkit-dev/2022-April/032189.html
- svn から git に移行するにあたり毎回 conflict する CHANGELOG をやめたいという議論
-
[webkit-dev] WebKit and GitHub Update
- https://lists.webkit.org/pipermail/webkit-dev/2022-April/032180.html
- GitHub にミラーがあるが、単なるミラーではなく正式に運用していく作業中
- [webkit-dev] Position on new syntax in mediaqueries-4
- [webkit-dev] Request for position: Local Font Access
- [webkit-dev] Request for position: Topics API
Other
- Private Click Measurement: Conversion Fraud Prevention and Replacement For Tracking Pixels
- Non-interactive Elements with the inert attribute
Edge 動向
Stable: 101
Updates
- 30 days of PWA: Fall in love with Progressive Web Apps
- Retrieve source maps securely in production in Microsoft Edge DevTools
- Sleeping tabs in Microsoft Edge: Save even more resources with recent updates
Chakra
Other
- Chromium's DNS Cache - text/plain
- The "Magical" Back Button - text/plain
WHATWG/W3C 動向
Draft
-
Recommendation
- Last Call for Review of Proposed Corrections: Media Queries Level 3
- Preload Published as a Discontinued Draft
-
Proposed Recommendation
- Call for Review: Geolocation API is a W3C Proposed Recommendation
-
Candidate Recommendation
- W3C invites implementations of WebXR Device API
- Working Draft
-
First Public Working Draft
- WebAssembly 2.0 First Public Working Drafts
- First Public Working Draft: Region Capture
-
Group Note
-
Fonts for the Web: Rationale, 1996
- https://www.w3.org/TR/2022/NOTE-font-rationale-20220414/
- 1996 年にまとめられた Web フォント実現に向けての要件
- W3C Member 限定のメーリングリストに残っていたドラフトを公開
-
Fonts for the Web: Rationale, 1996
-
Chartering
- HTML Working Group Charter Extended until 30 June 2022
Other
-
W3C TPAC 2022 will be a hybrid meeting
-
https://www.w3.org/blog/news/archives/9503
- バンクーバーで開催
- 中国にハブを設けてそこで少しセッションもやる
-
https://www.w3.org/blog/news/archives/9503
- replace current outline algorithm with one based on heading levels
TC39 動向
Meeting
-
2022-03
- agendas/03.md at main · tc39/agendas
- notes/meetings/2022-03 at main · tc39/notes
Proposals Diff
- https://github.com/tc39/proposals/compare/main@{2022-04-01}...main@{2022-05-01}
-
0->1
- Function once
- Type Annotations
- 1->2
-
2->3
- Decorators
- RegExp v flag with set notation + properties of strings
- Change Array by Copy
- 3->4
New Proposals
Other
IETF 動向
WG
- IETF
-
httpwg
- https://lists.w3.org/Archives/Public/ietf-http-wg/
- https://github.com/httpwg/wg-materials/
- httpbis - New Meeting Session Request for IETF 114
- HTTP (httpbis) WG Virtual Meeting: 2022-05-31 CHANGED
- I-D Action: draft-ietf-httpbis-rfc6265bis-10.txt
- I-D Action: draft-ietf-httpbis-retrofit-01.txt
- quicwg
- webtrans
- tlswg
- wpack
- masque
- pearg
- privacypass
- dispatch
- secdispatch
Other
-
http-core spec publication soonish from Julian Reschke
- https://www.rfc-editor.org/auth48/C430
- https://lists.w3.org/Archives/Public/ietf-http-wg/2022JanMar/0234.html
-
the http core specs are very very very close to be published.
- RFC9110 AUTH48-DONE*R draft-ietf-httpbis-semantics-19.txt
- RFC9111 AUTH48-DONE*R draft-ietf-httpbis-cache-19.txt
- RFC9112 AUTH48-DONE*R draft-ietf-httpbis-messaging-19.txt
- RFC9113 AUTH48-DONE*R draft-ietf-httpbis-http2bis-07.txt
- RFC9114 AUTH48*R draft-ietf-quic-http-34.txt
- RFC9163 AUTH48-DONE*R draft-ietf-httpbis-expect-ct-08.txt
- RFC9180 PUB draft-irtf-cfrg-hpke-12.txt
- RFC9193 AUTH48-DONE*R draft-ietf-core-senml-data-ct-07.txt
- RFC9204 AUTH48*R draft-ietf-quic-qpack-21.txt
- RFC9205 AUTH48-DONE*R draft-ietf-httpbis-bcp56bis-15.txt
- RFC9209 AUTH48*R draft-ietf-httpbis-proxy-status-08.txt
- RFC9211 AUTH48-DONE*R draft-ietf-httpbis-cache-header-10.txt
- RFC9213 AUTH48-DONE*R draft-ietf-httpbis-targeted-cache-control-04.txt
- RFC9218 AUTH48*R draft-ietf-httpbis-priority-12.txt
- RFC9220 AUTH48-DONE*R draft-ietf-httpbis-h3-websockets-04.txt
- RFC9230 AUTH48-DONE*R draft-pauly-dprive-oblivious-doh-11.txt
CDN 動向
Cloudflare
-
Cloudflare blocks 15M rps HTTPS DDoS attack
- https://blog.cloudflare.com/15m-rps-ddos-attack/
- 今月はじめ 15.3 million request-per-second (rps) の HTTPS DDoS を検出
- 記録的な規模の攻撃でこれを自動で防いだ
- 世界中の bot net を使った攻撃で多くはインドネシアから
Fastly
-
Trusted services for a privacy-preserving internet: iCloud Private Relay and what it means for customers | Fastly
- https://www.fastly.com/blog/icloud-private-relay-and-a-privacy-preserving-internet
- iCloud の Private Relay の Egress に Fastly が使われていることの記事
- 先月の Akamai / Cloudflare に続いて 3 つ目の記事
Other
セキュリティ動向
周辺動向
- Introducing DuckDuckGo for Mac: A Private, Fast, and Secure Browsing App
- CSS-Tricks joins DigitalOcean, expanding our commitment to community
- ロシア情勢が Web / Internet / Tech に与えた影響の記録 2022 年 4 月
イベント
- 4 月
-
5 月
- 11-12: Google I/O
- 17-18: BlinkOn 16
- 24-26: Microsoft Build
- 26: SecWeb Workshop 2022
-
6 月
- 6-10: WWDC
-
7 月
- 23-29: 114 Philadelphia
Wrap Up
-
Chrome
- 100
-
101
- Reduced UA string (MAJOR.0.0.0)
- FedCM OT
- Priority Hints
-
102
- Network State Partitioning
- Speculation Rules
- Subresource loading with Web Bundles
- inert
- Local Font Access
- Navigation API
- hidden=until-found
-
Ship
- Media Queries 4 syntax
- Speculation Rules (prefetch)
- Speculation Rules (same-origin prerendering)
- Subresource loading with Web Bundles
- Navigation API
- Early Hints preload/preconnect
-
Prototype
- CSS toggles
- Isolated Web Apps
- Element.isVisible
-
developer.chrome.com
- hidden=until-found
- inert
- BlinkNG
-
Firefox
- 99
-
Ship
- small/large/dynamic viewport units
- prefers-contrast
-
Prototype
- Import maps
- input.showPicker()
-
Other
- Platform 2022 planned work
-
Safari
-
TP 143
- Container Queries
- Subgrid
- inert by default
- Permissions API by default
-
15.5 Beta
- inert
-
Position request
- Topics API: negative
- Media Queries 4 syntax: supportive
-
Other
- Private Click Measurement の Fraud Prevention blog
- Inert blog
- GitHub 移行に向けた話
-
TP 143
-
Edge
- 30 days of PWA tutorial
-
W3C/WHATWG
- Fonts for the Web Rationale 1996 公開
- TPAC 2022 バンクーバーで hybrid のアナウンス
- HTML Outline Algorithm の削除
-
TC39
- 2022/3 の meeting minutes
- Type Annotation to Stage 1
- Decorators to Stage 3
-
IETF
- httpwg が IETF114 でひさびさのミーティングのアナウンス
-
CDN 動向
- Cloudflare 1500 万 rps の記録的な HTTPS DOS を確認
- Fastly iCloud Private Relay のブログ
- セキュリティ動向
-
周辺動向
- DuckDuckGo mac 向けブラウザ
- Digital Ocean が CSS-Tricks を買収