ゆるテックノート

How Shared Browser Standards and Vendor-Specific Features Emerge

There was a time when the same page could look or behave quite differently depending on the browser. The reason the modern Web feels calmer is that vendors keep converging on shared specifications, while still experimenting in places where the platform is not fully settled. This page gives a practical overview of why common specs exist and where browser-specific behavior still comes from.

Why shared specs matter

Without common specifications, the same HTML, CSS, and JavaScript could mean different things in different browsers, which quickly turns into a maintenance problem.

What goes wrong without them

  • A page renders correctly in one browser and breaks in another.
  • Sites end up full of browser-specific branches and workarounds.
  • Developers have to learn engine quirks instead of relying on common platform behavior.
  • Accessibility tools, extensions, crawlers, and automated tests also struggle to behave consistently.

What shared specs buy you

  • Different browser vendors can implement the same core behavior from a shared reference.
  • Authors can reasonably expect the same markup and scripts to carry the same meaning across engines.
  • Tests, documentation, and debugging become much easier to share.

Who defines what

No single browser company controls the whole platform. Different parts of the Web stack are shaped in different standards bodies and groups.

Rough division of responsibility

Area Main body Details and caveats
HTML / DOM / Fetch / URL WHATWG Living standards such as HTML, DOM, and Fetch that define core browser behavior. Continuously updated rather than version-frozen.
CSS W3C / CSSWG CSS syntax, layout models, selectors, color, animation, and related modules. CSS evolves as many modules, not one monolithic spec.
JavaScript language TC39 ECMAScript language syntax, built-ins, and new language features. Relevant beyond browsers, including server-side runtimes.
HTTP / URI / TLS and related transport pieces IETF HTTP, TLS, and generic URI syntax. Browser URL parsing is defined by the WHATWG URL Standard. Covers browser and non-browser implementations alike.

Where vendors fit in

  • Google, Apple, Mozilla, Microsoft, and others participate both as implementers and as spec contributors.
  • That is why browser standards are usually a loop between writing text, shipping code, and fixing mismatches instead of a pure top-down decree.

How something becomes a shared standard

In practice, standards usually harden through a cycle of proposals, drafts, experiments, tests, and cross-vendor alignment.

Typical path

  • A problem or new feature is proposed.
  • The idea is turned into a draft with defined syntax and edge cases.
  • Browsers experiment with prototype or flag-gated implementations.
  • Multiple implementations are compared for interoperability.
  • Common tests are written, often in Web Platform Tests (WPT).
  • Check specification status separately from browser availability. Experiments can be withdrawn, and specified features may remain unimplemented.

The WHATWG style

WHATWG uses living standards, so the text keeps evolving with the platform instead of being frozen into a once-and-done version. That keeps the spec close to real browser behavior.

The IETF style

The IETF works through Internet-Drafts and publishes RFCs after review and consensus. That document discipline matters a lot for protocols like HTTP, where browsers, servers, proxies, and CDNs all have to agree on the same semantics.

The TC39 style

TC39 proposals progress through Stages 0, 1, 2, 2.7, 3, and 4. Stage 2.7 validates the design with tests; Stage 3 gathers implementation experience. Stage 4 requires, among other criteria, two compatible implementations passing Test262. A stage number alone does not establish availability in a particular browser.

Why WPT matters

WPT provides shared cross-browser tests, with results available at wpt.fyi. Passing cases are evidence for those cases, not a guarantee of complete compatibility across all features and environments. ECMAScript itself also has a separate test suite, Test262.

Where vendor-specific behavior tends to appear

Vendor-specific behavior is not automatically “bad.” It often shows up where the platform is still evolving, where OS integration matters, or where product-level UI is outside the scope of Web standards.

Common categories

Area Example Details and caveats
Vendor-prefixed CSS -webkit- and similar prefixes Some forms are experimental; others are standardized compatibility features implemented by several engines. A prefix alone does not establish vendor exclusivity. Prefer the standard property first and treat prefixed forms as fallback or legacy support.
Vendor-specific CSS extensions ::-webkit-scrollbar Some UI styling hooks are not fully standardized or remain engine-specific. Useful when optional, but do not assume cross-browser support.
Experimental APIs and flag-gated features Prototype Web APIs behind flags Vendors want implementation feedback before the design is settled. Check maturity and multi-engine support before relying on them.
OS integration and constrained behavior Media autoplay, notifications, background limits, power-saving behavior Security models, battery constraints, permissions, and hardware assumptions differ by platform. Check permissions, environmental conditions, specification requirements, and possible implementation bugs.
Browser product UI outside Web specs Address bar behavior, settings pages, built-in PDF viewers, devtools UI These are browser product features, not Web page standards. Separate product differences from standards differences.

Why these differences exist

  • The platform needs room to experiment before locking in a common shape.
  • Security and privacy choices are not always rolled out at the same pace.
  • Mobile and desktop operating systems do not impose identical constraints.

How to research a browser feature in practice

If you only ask “does it work?”, you can miss the more important question: “what kind of feature is this, and how mature is it?”

A useful reading order

  • Identify the spec owner first: WHATWG, W3C/CSSWG, TC39, or IETF.
  • Read the spec text to understand the intended behavior and caveats.
  • Check whether WPT coverage exists and whether interoperability is being tested.
  • Use MDN as a practical companion for support notes and gotchas.
  • If needed, read vendor blog posts, implementation notes, or intent threads.

Practical advice

  • Prefer feature detection over UA sniffing, while remembering that API presence does not guarantee permission or successful operation.
  • Do not ask only whether a feature is available; ask whether it is standardized and cross-engine.
  • If you use vendor-specific behavior, make sure the page still works when that behavior is ignored.
  • When you hit a browser difference, separate spec gaps, bugs, and OS-level constraints before deciding on a workaround.

Takeaway

Shared standards exist so the Web can remain interoperable across browsers. Vendor-specific behavior exists because the platform keeps evolving, products differ, and operating systems impose real constraints. The practical habit is to ask who owns the specification and how mature the feature is before you treat a behavior difference as either a bug or a standard rule.

Specifications and official sources

HTML / URL / Compatibility Standard / CSSWG / TC39 process / WPT
Organizations behind the Web / UA strings and detection limits