Web platform features explorer

📃 October 2007 release notes

New in Safari

The following features are now available in Safari:

  • <base>: The <base> element sets the base URL (the URL that relative URLs are relative to) for all relative URLs in the document.
  • Base64 encoding and decoding: The atob() and btoa() global functions encode and decode strings to and from base 64, respectively.
  • Beforeunload: The beforeunload event is fired when the current window is about to be unloaded. Typically this is used to display a dialog to confirm if users really want to leave the page when there is unsaved data that would be lost.
  • <body>: The <body> element represents the content of an HTML document.
  • <br>: The <br> element produces line breaks in text.
  • Change event: The change event for <input>, <select>, and <textarea> elements fires when the user modifies the element's value. Unlike the input event, the change event does not necessarily fire on every alteration to an element's value.
  • Console: The console API logs debugging messages to the browser development tools' console.
  • Counters (CSS): The counter-reset and counter-increment CSS properties and the counter() and counters() functions automatically number headings or ordered list items.
  • Device media queries: The device-aspect-ratio, device-height, and device-width media features describe physical properties of the displaying output device.
  • <form>: The <form> element contains interactive controls for submitting information.
  • <h1> through <h6>: The <h1> through <h6> HTML elements represent six levels of section headings, in order of decreasing importance.
  • <hr>: The <hr> element represents a thematic break between paragraphs, often shown as a horizontal rule.
  • <input type="checkbox">: The <input type="checkbox"> HTML element represents a tickable box with two states, checked and unchecked.
  • Media queries: The @media CSS rule conditionally applies styles based on the output device type, its capabilities, and the user's preferences. Media queries are composed of an optional media type such as screen or print, and one or more mandatory media features, such as prefers-reduced-animations.
  • <menu>: The <menu> element represents an unordered list of action items (<li>), such as a toolbar. It is a semantic alternative to the <ul> element.
  • <object>: The <object> element represents an external resource such as a PDF or SVG document. It was historically used for plugins such as Shockwave Flash.
  • <p>: The <p> element represents a paragraph of text.
  • <q>: The <q> element represents a short inline quotation.
  • resolution media query (compatibility prefixes): The -webkit-device-pixel-ratio, -webkit-min-device-pixel-ratio, and -webkit-max-device-pixel-ratio CSS media queries are standardized compatibility alternatives to resolution media queries.
  • <script> and <noscript>: The <script> element contains or loads data or executable code. This is typically used to load JavaScript code. The <noscript> element represents alternative content to show when scripting is not allowed.
  • Selectors (core): CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. This feature represents the oldest selectors of CSS.
  • SVG: The SVG image format, represented by the <svg> element, creates two-dimensional vector graphics with declarative or scripted interaction and animation.
  • Text stroke and fill (compatibility prefixes): The -webkit-text-stroke-width and -webkit-text-stroke-color CSS properties set the thickness and color of text outlines. The -webkit-text-fill-color sets the color within text character outlines. Both default to the text color.
  • `word-break: break-word`: The word-break: break-word CSS declaration sets word breaks to occur according to their customary rules. Superseded by overflow-wrap: anywhere.
  • XMLHttpRequest: The XMLHttpRequest API makes HTTP requests. It's the predecessor to fetch(). Also known as XHR.
  • XMLSerializer: The XMLSerializer API provides the serializeToString() method to construct an XML string representing a DOM tree.
  • XPath: The document.evaluate() method selects elements in an HTML or XML document based on an expression of XPath, a domain specific language for querying XML documents. Also known as XML Path Language.