惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
L
LINUX DO - 最新话题
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
Know Your Adversary
Know Your Adversary
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
K
Kaspersky official blog
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
WordPress大学
WordPress大学
L
LINUX DO - 热门话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
V
Visual Studio Blog
O
OpenAI News
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
V2EX - 技术
V2EX - 技术
GbyAI
GbyAI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Simon Willison's Weblog
Simon Willison's Weblog
S
Schneier on Security
Spread Privacy
Spread Privacy
Y
Y Combinator Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
T
The Blog of Author Tim Ferriss
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
N
News and Events Feed by Topic
Project Zero
Project Zero
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
G
Google Developers Blog

web.dev: Blog

New to the web platform in May  |  Blog  |  web.dev New to the web platform in April  |  Blog  |  web.dev March 2026 Baseline monthly digest  |  Blog  |  web.dev February 2026 Baseline monthly digest  |  Blog  |  web.dev New to the web platform in March  |  Blog  |  web.dev January 2026 Baseline monthly digest  |  Blog  |  web.dev New to the web platform in February  |  Blog  |  web.dev Navigation API - a better way to navigate, is now Baseline Newly Available  |  Blog  |  web.dev Interop 2026: Continuing to improve the web for developers  |  Blog  |  web.dev
April 2026 Baseline monthly digest  |  Blog  |  web.dev
2026-05-27 · via web.dev: Blog

April 2026 Baseline monthly digest

Jeremy Wagner

Published: May 27, 2026

Welcome to the Baseline monthly digest. In April 2026, some CSS capabilities and precision math utilities became newly available, while structural semantic elements and other Web API additions became widely available, along with happenings in the developer community.

Baseline and accessibility in 2026

Building for the web means building an experience that everyone can use, and a recent piece from A11y Up makes the case that accounting for accessibility needs is more effective when developers rely on web standards. For some time, engineers have shipped custom and often heavy JavaScript solutions to recreate accessible patterns that are now part of the web platform. These bespoke solutions are sometimes fragile, prone to breaking under assistive tech, and are challenging to maintain.

The article highlights that as web platform features achieve cross-browser interoperability, they make developing with accessibility in mind a more effective task. Using web features to achieve common goals and user interface patterns handles much of the heavy lifting, smoothly exposing the right semantics directly to screen readers and keyboard navigation utilities. Baseline acts as a guide here, signaling the moment a web feature is mature enough to evaluate and use in your projects.

Baseline newly available features

The features in this section are supported as of April 2026 in the core browser set and are now Baseline newly available.

CSS contrast-color() function

Dynamic theme engines and customizable components have forced developers to maintain multiple color systems to accommodate a user preference for high contrast. The CSS contrast-color() function shifts that maintenance burden entirely to the browser. By passing a base input color into the function, the engine evaluates and returns a highly contrasting companion color, typically mapping to either black or white depending on which delivers the highest readability score.

.card-header {
  background-color: var(--dynamic-bg-color);
  /* Automatically resolves to the highest-contrast text color */
  color: contrast-color(var(--dynamic-bg-color));
}

This lets you meet accessible standards for readability, without a custom solution, or CSS that is hard to maintain. While you should still keep an eye on your mid-tone color choices, this function reduces boilerplate CSS required to handle this user accommodation. You can find out more on the MDN reference page for contrast-color().

Math.sumPrecise()

Summing sequences of numbers using standard loops or methods like Array.prototype.reduce() can result in floating-point precision loss. This can affect important financial calculations or telemetry totals.

The Math.sumPrecise() method addresses this problem. It accepts an iterable of numbers and executes a precision-safe routine to provide an accurate sum. Take a look into the mechanics on the MDN documentation for Math.sumPrecise().

Baseline widely available features

The following features became Baseline widely available, meaning that they are now broadly compatible and usable in your projects.

<search> element

The HTML <search> element acts as an explicit wrapper for form controls, filtering mechanisms, and submission utilities that collectively represent a search experience on a web application.

<search>
  <form action="/site-search">
    <label for="query">Search documentation</label>
    <input type="search" id="query" name="q">
    <button>Go</button>
  </form>
</search>

By switching a containing element to the <search> tag, you provide an accessibility benefit to users. The browser automatically assigns an implicit ARIA landmark role of search to the element, removing the need to specify role="search" on the <form> element. This lets screen readers identify and help users navigate to search interfaces. Read the implementation details on the MDN page for the <search> element.

Web Authentication public key access

Going passwordless with the Web Authentication (WebAuthn) API is now less complex thanks to broad support for direct property extractors on the AuthenticatorAttestationResponse interface. With methods like getPublicKey() and getPublicKeyAlgorithm(), the browser extracts public key details for you without having to work with raw binary data. Learn more about these properties and how to use them on the MDN page for AuthenticatorAttestationResponse.

String.prototype.isWellFormed() and String.prototype.toWellFormed()

JavaScript strings are UTF-16 encoded, which maps complex characters and emoji in Unicode pairs. If a string is sliced without accounting for this, isolated halves of a surrogate pair—known as lone surrogates—will remain resulting in malformed text.

isWellFormed() lets developers check whether a string contains lone surrogates and returns a boolean. If a string fails validation, you can call toWellFormed() to replace the rogue surrogates with the standard Unicode replacement character (U+FFFD). This is helpful before calling functions such as encodeURI(), which will throw a URIError when encountering malformed inputs. Learn how these methods work in the MDN documentation for String.prototype.isWellFormed().

ARIA attribute reflection

Updating accessibility states on interactive elements required roundtrips through standard DOM attribute methods—for example, element.setAttribute('aria-expanded', 'true'). ARIA attribute reflection simplifies this by mirroring accessibility properties as object properties.

The Element interface reflects ARIA attributes straight to instance properties like element.ariaExpanded, element.ariaChecked, and element.ariaHidden. This lets you modify accessibility states using dot-notation syntax:

// Clean and readable state updates
toggleButton.ariaExpanded = toggleButton.ariaExpanded === "true" ? "false" : "true";

Treating ARIA targets as JavaScript properties lets UI frameworks and state management tools coordinate assistive contexts more reliably, and helps to keep screen reader contexts aligned with your actual application state. For a complete list of reflected properties, check out the MDN guide on Element instance properties.

That is a wrap

Tell us if we missed anything Baseline-related, and we will make sure it gets captured in a future edition! If you have any questions or want to provide feedback on Baseline, you can file an issue in our issue tracker.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-05-27 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-05-27 UTC."],[],[]]