Guide to the WebKit Standards Positions Repository

This article explains where web developers can find the official WebKit Standards Positions repository, how to navigate it to track the Safari browser team's stance on emerging web specifications, and what the various status labels mean for the future of web features.

Where to Find the Repository

Web developers can check the Safari and WebKit team’s official stance on emerging web specifications on GitHub. The repository is located under the official WebKit organization account at github.com/WebKit/standards-positions.

WebKit is the browser engine that powers Apple's Safari browser on macOS, iOS, iPadOS, and visionOS. This repository serves as the public record for how the WebKit team views new proposals from standards bodies like the W3C, WHATWG, IETF, and Ecma TC39.

How to Check a Specification's Status

The repository does not use traditional code files to track specifications. Instead, it uses GitHub Issues. To find the WebKit team's position on a specific feature, follow these steps:

  1. Navigate to the WebKit/standards-positions repository on GitHub.
  2. Click on the Issues tab at the top of the page.
  3. Use the search bar to type the name of the emerging web specification, API, or CSS property you are researching.
  4. Remove the default is:open filter from the search bar. The WebKit team often closes issues once a final position has been decided, so searching both open and closed issues is necessary to find the correct thread.

Understanding WebKit's Position Labels

When you find the issue corresponding to a web specification, you can determine the Safari team's stance by looking at the labels attached to that issue on the right-hand sidebar. The primary labels used by the WebKit team include:

  • position: support – WebKit agrees with the specification's goals and design. They either plan to implement it, are actively implementing it, or at least think it is a good addition to the web platform.
  • position: oppose – WebKit disagrees with the specification. This is usually due to privacy concerns, security risks, architectural incompatibilities, or a belief that the feature harms the open web. The team will typically leave a detailed comment explaining their opposition.
  • position: neutral – WebKit does not object to the specification moving forward, but they are not actively championing it or prioritizing its implementation.
  • position: defer – The specification is too early in its lifecycle, or WebKit needs more information before making a definitive judgment.
  • prototyping – Engineers are actively writing code to test the viability of the specification within the WebKit engine, though this does not guarantee it will ship in a final version of Safari.

Requesting a Position

If you are a specification author or developer and cannot find an existing issue for a new web standard, you can ask the WebKit team for their stance.

  1. Go to the Issues tab in the repository.
  2. Click the New Issue button.
  3. Select the Request for position template.
  4. Fill out the required links, including the specification URL, the explainer document, and links to other browser vendors' positions (such as Mozilla or Chromium).

Once submitted, WebKit engineers and standards representatives will review the proposal, discuss it internally, and eventually apply one of the position labels to the issue.