web-features-summary
4
总安装量
3
周安装量
#48696
全站排名
安装命令
npx skills add https://github.com/chen-ye/cye-agent-skills --skill web-features-summary
Agent 安装分布
opencode
3
gemini-cli
3
antigravity
3
codex
3
mcpjam
2
Skill 文档
Web Features Summary (Baseline 2023-2026)
This skill summarizes web platform features that achieved Baseline status (available in all major browsers: Chrome, Firefox, Safari) between January 2023 and early 2026. Use this to ensure recommended APIs are widely available without polyfills.
High-Impact Modern Features (Quick Reference)
JavaScript & Web APIs
- Array & Collections:
toSorted(),toReversed(),toSpliced(),with()(Immutable array updates)Object.groupBy(),Map.groupBy()(Data grouping)Setmethods:intersection(),union(),difference(),symmetricDifference()
- Async & Control Flow:
Promise.withResolvers()(External promise resolution)Promise.try()(Wrap sync/async functions in a Promise)AbortSignal.any()(Combine multiple abort signals)Array.fromAsync()(Consume async iterables)
- Utilities:
URL.canParse()(Safe URL validation)Intl.Segmenter(Locale-sensitive text segmentation)Intl.DurationFormat(Duration string formatting)RegExp.escape()(Escape special characters in regex strings)Uint8Arraymethods:toBase64(),fromBase64(),toHex(),fromHex()Iteratorhelpers:map(),filter(),reduce(),toArray()(on iterators)
CSS
- Layout & Scoping:
- Subgrid: (
grid-template-columns: subgrid) Align nested grids to parent tracks. - Container Queries: (
@container) Style based on parent size, not viewport. - @scope: (
@scope (.card) to (.content)) True style scoping without BEM/Modules. - Nesting: Native CSS nesting (similar to Sass).
- Subgrid: (
- Colors & Theming:
light-dark(): native light/dark mode color switching.color-mix(): Mix colors in any space (e.g.,color-mix(in srgb, red, blue)).Relative colors: Derive colors from others (rgb(from var(--bg) r g b / 50%)).
- Typography & Math:
text-wrap: balance(Titles) &text-wrap: pretty(Body text).- Math functions:
pow(),sqrt(),hypot(),log(),exp(),round(),mod(),rem(),abs(),sign().
- UI & Interaction:
scrollbar-color/scrollbar-width(Standardized scrollbar styling).@starting-style(Entry animations fordisplay: noneelements).view-transitions(Native page/element transitions) &active-view-transition.::details-content(Style the inner content of<details>independently).
HTML & DOM
- Interactivity:
popoverAPI (Native overlays/tooltips without z-index wars).<dialog>element (now withrequestClose()for safe closing).inertattribute (Disable interaction for parts of the DOM).
- Semantics & Loading:
<search>element (Semantic wrapper for search forms).<link rel="modulepreload">(Preload ES modules).fetchpriority(Hint resource priority to browser).
Chrome-Supported Modern Features (Limited Availability)
These features are usable in modern Chrome/Edge (Chromium) but lack full cross-browser support. Use with caution and always provide fallbacks.
CSS & UI
- Anchor Positioning: (
position-anchor,anchor())- Status: Chrome 125+. No Firefox/Safari support.
- Use Case: Tying tooltips/menus to trigger elements without JS.
- Interop: Requires polyfill or JS fallback (e.g., Floating UI) for other browsers.
- Scroll-Driven Animations: (
animation-timeline: scroll())- Status: Chrome 115+. No stable Firefox/Safari.
- Use Case: Parallax effects, reading progress bars linked to scroll position.
- Interop: Graceful degradation (animation just doesn’t play).
- @scope:
- Status: Chrome 118+, Safari 17.4+. Firefox pending.
- Use Case: True component-level styling isolation.
- Interop: Use BEM/Modules as fallback for Firefox.
- Container Style Queries: (
@container style(...))- Status: Chrome 111+. No Firefox/Safari.
- Use Case: Styling children based on parent’s computed values (e.g., color).
- Interop: Highly experimental.
Web Capabilities (Fugu)
- File System Access API: (
window.showOpenFilePicker())- Status: Chrome 86+, Safari (Origin Private FS only). Firefox (Origin Private FS only).
- Use Case: Reading/Writing local user files directly.
- Interop: Progressive enhancement only.
- View Transitions (Cross-Document):
(
@view-transition { navigation: auto; })- Status: Chrome 126+. Safari 18+. Firefox pending.
- Use Case: Morphing animations between multi-page navigations.
- Interop: Graceful degradation (instant navigation).
- Web Hardware APIs: Chrome-only. Firefox/Safari unlikely to implement.
Modern Best Practices & Discarded Idioms
Adopt These Idioms
- Immutable Arrays: Use
toSorted(),toSpliced(), andwith()instead of mutation. - Native Grouping: Use
Object.groupBy()instead ofreduce()patterns. - Parent Selectors: Use
:has()instead of JS-based class toggling for parent state. - Component-First Responsive: Use
@containerinstead of@mediafor internal component layout. - Native Overlays: Use
<dialog>andpopoverinstead of custom modal/tooltip logic. - Native Nesting: Use CSS nesting directly; reduce reliance on preprocessors for basic nesting.
Discard These Patterns
- Mutation-in-place: Stop using
sort()orreverse()on original arrays when state management is involved. - Viewport-Only Design: Stop assuming component layout is tied strictly to screen size.
- JS-Heavy UI: Stop using JavaScript for focus trapping, z-index management,
and simple “click-outside” logic that
<dialog>andpopoverhandle natively.
Procedural Guidance
Verify Feature Availability
- Check the feature name against the list in
references/baseline_2023_2026.md. - Check
references/modern_idioms.mdfor recommended coding patterns. - Verify the “Baseline Status” and date.
Additional Resources
Reference Files
references/baseline_2023_2026.md– Comprehensive list of 100+ web features reaching Baseline status.references/modern_idioms.md– Detailed comparison of legacy vs. modern coding patterns.
Maintenance
MAINTENANCE.md– Instructions for updating this skill with the latest web-features data.
Source Data
Information derived from the web-features project.