The
Planet MathML aggregates posts from various blogs that
concern MathML. Although it is hosted by W3C, the content of the
individual entries represent only the opinion of their respective
authors and does not reflect the position of
W3C.
Issues ------ * w3c/htmlwg (+1/-0/💬1) 1 issues created: - Figure with multilingual figcaptions (by etclub) https://github.com/w3c/htmlwg/issues/25 1 issues received 1 new comments: - #25 Figure with multilingual figcaptions (1 by LJWatson) https://github.com/w3c/htmlwg/issues/25 * w3c/webcomponents (+1/-0/💬14) 1 issues created: - All customElementRegistry definitions to persist across page loads (by andy-blum) https://github.com/WICG/webcomponents/issues/1033 1 issues received 14 new comments: - #923 [scoped-registries] Element upgrade ordering (14 by annevk, rniwa, smaug----, xiaochengh) https://github.com/WICG/webcomponents/issues/923 * whatwg/html (+12/-2/💬84) 12 issues created: - Event loop: update the rendering step mismatches implementations in subtle ways (by noamr) https://github.com/whatwg/html/issues/9824 [topic: event loop] - OTP (by kumarmanu9652) https://github.com/whatwg/html/issues/9821 [addition/proposal] [needs implementer interest] - document's url never gets updated on a fragment navigation (by kalenikaliaksandr) https://github.com/whatwg/html/issues/9820 - document should not be unloaded during same-document navigation (by kalenikaliaksandr) https://github.com/whatwg/html/issues/9819 - Clipboard API Doesn't have onChange event (by Mahmoudgalalz) https://github.com/whatwg/html/issues/9817 - 𝐅𝐄𝐀𝐓-𝐋𝐢𝐠𝐡𝐭 𝐚𝐧𝐝 𝐃𝐚𝐫𝐤 𝐦𝐨𝐝𝐞 (by SHARMA-1729) https://github.com/whatwg/html/issues/9816 [addition/proposal] [needs implementer interest] - Defining a Native HTML/CSS Component Model (by brandonmcconnell) https://github.com/whatwg/html/issues/9815 [addition/proposal] [needs implementer interest] - Move "Parse state" section under "Tree construction" section (by not-my-profile) https://github.com/whatwg/html/issues/9814 - Meta: `dfn` elements made interactive by `html-dfn.js` aren't keyboard accessible (by not-my-profile) https://github.com/whatwg/html/issues/9813 - HTML Video Element: Proposal for adding [posterset] + [sizes] on video element as well [posterset] on source elements (by Schepp) https://github.com/whatwg/html/issues/9812 - Meta: Links that already take you where you are (by not-my-profile) https://github.com/whatwg/html/issues/9811 - consider whether document-level language fallback rules make sense in all cases (by dbaron) https://github.com/whatwg/html/issues/9807 24 issues received 84 new comments: - #9824 Event loop: update the rendering step mismatches implementations in subtle ways (4 by Kaiido, annevk, noamr, smaug----) https://github.com/whatwg/html/issues/9824 [topic: event loop] - #9817 Clipboard API Doesn't have onChange event (1 by Shivaji2808) https://github.com/whatwg/html/issues/9817 - #9815 Defining a Native HTML/CSS Component Model (1 by brandonmcconnell) https://github.com/whatwg/html/issues/9815 [addition/proposal] [needs implementer interest] - #9814 Move "Parse state" section under "Tree construction" section (2 by annevk, not-my-profile) https://github.com/whatwg/html/issues/9814 [clarification] [topic: parser] - #9812 HTML Video Element: Proposal for adding [srcset] + [posterset] + [sizes] on video element as well [posterset] on source elements (4 by Schepp, annevk) https://github.com/whatwg/html/issues/9812 [addition/proposal] [needs implementer interest] - #9811 Meta: Links that take you where you already are (8 by annevk, domenic, not-my-profile, tabatkins) https://github.com/whatwg/html/issues/9811 - #9800 Navigables: fireNavigateEventOnCommit is unused in apply the history step (1 by domenic) https://github.com/whatwg/html/issues/9800 [topic: navigation] - #9776 popover=hint (5 by mfreed7, tabatkins) https://github.com/whatwg/html/issues/9776 [topic: popover] - #9760 Expose information about last activation/cross-document navigation (19 by domenic, khushalsagar, noamr) https://github.com/whatwg/html/issues/9760 - #9757 Can showPicker() focus a control? (1 by lukewarlow) https://github.com/whatwg/html/issues/9757 [topic: forms] [topic: focus] - #9705 Why is the content model for `<button>` limited to phrasing content? (1 by mfreed7) https://github.com/whatwg/html/issues/9705 [document conformance] - #9690 should navigation algorithm check if navigable was destroyed? (1 by kalenikaliaksandr) https://github.com/whatwg/html/issues/9690 [topic: navigation] - #9571 Use inside settings to fetch the descendants of module worker in the worker module script graph (1 by smaug----) https://github.com/whatwg/html/issues/9571 - #9315 Proposal: fire an event before the first rendering opportunity after activation (7 by domenic, jakearchibald, noamr, zcorpan) https://github.com/whatwg/html/issues/9315 [addition/proposal] [topic: rendering] [topic: navigation] [topic: events] - #9084 Accessibility Attribute Request (1 by cookiecrook) https://github.com/whatwg/html/issues/9084 [addition/proposal] [accessibility] [a11y-tracker] - #9046 Timing of `<dialog>` 'close' event, popover 'toggle' event, `<details>` 'toggle' event (1 by josepharhar) https://github.com/whatwg/html/issues/9046 [topic: dialog] [topic: popover] - #8938 Add `userValid` to `ValidityState` (2 by annevk, jimmyfrasche) https://github.com/whatwg/html/issues/8938 [addition/proposal] [topic: forms] - #6907 Html element's start tag must not be omitted or add new ways to specify lang attribute of the html file (1 by andjc) https://github.com/whatwg/html/issues/6907 [i18n-tracker] - #5488 <input type="time"> : Time vs. duration (3 by Crissov, StephanLuis, muan) https://github.com/whatwg/html/issues/5488 [addition/proposal] [needs implementer interest] [topic: forms] [i18n-tracker] - #5033 Consider adding a headinglevelstart attribute (16 by Dan503, annevk, bkardell, domenic, jimmyfrasche, muan, patrickhlauke, tabatkins) https://github.com/whatwg/html/issues/5033 [addition/proposal] [accessibility] - #4454 Create input unit attributes (1 by Crissov) https://github.com/whatwg/html/issues/4454 [addition/proposal] [needs implementer interest] [topic: forms] [i18n-tracker] - #3652 Describe HTMLOptionsCollection's length tree mutation in terms of DOM (1 by annevk) https://github.com/whatwg/html/issues/3652 [clarification] [good first issue] [topic: forms] - #3539 Potentially standardize window.find() (1 by hsivonen) https://github.com/whatwg/html/issues/3539 [addition/proposal] [i18n-tracker] [interop] - #1349 Define parser behavior for in-body external stylesheets (1 by chrishtr) https://github.com/whatwg/html/issues/1349 [compat] [topic: parser] [topic: style] 2 issues closed: - should navigation algorithm check if navigable was destroyed? https://github.com/whatwg/html/issues/9690 [topic: navigation] - 𝐅𝐄𝐀𝐓-𝐋𝐢𝐠𝐡𝐭 𝐚𝐧𝐝 𝐃𝐚𝐫𝐤 𝐦𝐨𝐝𝐞 https://github.com/whatwg/html/issues/9816 [addition/proposal] [needs implementer interest] * whatwg/dom (+1/-0/💬4) 1 issues created: - MutationOvserver and DOMNodeInsertedIntoDocument (by kokins) https://github.com/whatwg/dom/issues/1227 3 issues received 4 new comments: - #1227 MutationOvserver and DOMNodeInsertedIntoDocument (1 by annevk) https://github.com/whatwg/dom/issues/1227 - #1194 Stop exporting AbortSignal's signal abort (2 by annevk, shaseley) https://github.com/whatwg/dom/issues/1194 [clarification] [topic: aborting] - #147 Consider support for ES2015 iterator protocol for NodeIterator (1 by iansan5653) https://github.com/whatwg/dom/issues/147 [needs implementer interest] [addition/proposal] Pull requests ------------- * whatwg/html (+9/-3/💬25) 9 pull requests submitted: - Make rAF and web-animation timestamps relative and coarsened (by noamr) https://github.com/whatwg/html/pull/9823 - Meta: stop using file-issue.js (by annevk) https://github.com/whatwg/html/pull/9822 - WIP-reveal (by noamr) https://github.com/whatwg/html/pull/9818 - Remove unreachable fragment case in "in cell" insertion mode (by not-my-profile) https://github.com/whatwg/html/pull/9810 - Stop reporting redundant fragment parser error in foreign content (by not-my-profile) https://github.com/whatwg/html/pull/9809 - Update 404.html (by Ahmedsolimann03) https://github.com/whatwg/html/pull/9808 - Editorial: clarify prepare to run script (by annevk) https://github.com/whatwg/html/pull/9806 - Use camelCase for the driver extension command enumerations (by javifernandez) https://github.com/whatwg/html/pull/9805 - Draft: Update mathml-related references to use MathML-Core instead of Full… (by bkardell) https://github.com/whatwg/html/pull/9804 7 pull requests received 25 new comments: - #9808 Update 404.html (1 by Ahmedsolimann03) https://github.com/whatwg/html/pull/9808 - #9798 Specify what happens when “disabled” is added to a link@rel=stylesheet (4 by annevk, domenic, sideshowbarker) https://github.com/whatwg/html/pull/9798 - #9797 Stop requiring an event loop for queue a microtask (8 by annevk, domenic, smaug----) https://github.com/whatwg/html/pull/9797 [topic: event loop] - #9796 Make computation of directionality account for Shadow DOM. (1 by dbaron) https://github.com/whatwg/html/pull/9796 [addition/proposal] [topic: shadow] [i18n-tracker] - #9754 Add showPicker to <select> elements (6 by domenic, keithamus, lukewarlow) https://github.com/whatwg/html/pull/9754 - #9546 Add switch attribute to the input element to allow for a two-state switch control. (2 by mfreed7, nt1m) https://github.com/whatwg/html/pull/9546 [addition/proposal] [needs implementer interest] [topic: forms] [needs tests] - #9400 Add name attribute for grouping details elements into an exclusive accordion (3 by GrahamTheDevRel, dbaron) https://github.com/whatwg/html/pull/9400 [addition/proposal] [needs implementer interest] 3 pull requests merged: - Editorial: clarify prepare to run script https://github.com/whatwg/html/pull/9806 - Stop requiring an event loop for queue a microtask https://github.com/whatwg/html/pull/9797 [topic: event loop] - Specify what happens when “disabled” is added to a link@rel=stylesheet https://github.com/whatwg/html/pull/9798 * whatwg/dom (+3/-3/💬1) 3 pull requests submitted: - Meta: update repository files (by annevk) https://github.com/whatwg/dom/pull/1229 - Meta: update repository files (by annevk) https://github.com/whatwg/dom/pull/1228 - Stop exporting AbortSignal's signal abort (by shaseley) https://github.com/whatwg/dom/pull/1226 1 pull requests received 1 new comments: - #892 Add declarative Shadow DOM features (1 by annevk) https://github.com/whatwg/dom/pull/892 [do not merge yet] 3 pull requests merged: - Meta: update repository files https://github.com/whatwg/dom/pull/1229 - Meta: update repository files https://github.com/whatwg/dom/pull/1228 - Stop exporting AbortSignal's signal abort https://github.com/whatwg/dom/pull/1226 Repositories tracked by this digest: ----------------------------------- * https://github.com/w3c/html-aam * https://github.com/w3c/html-aria * https://github.com/w3c/html-extensions * https://github.com/w3c/htmlwg * https://github.com/w3c/webcomponents * https://github.com/whatwg/html * https://github.com/whatwg/dom -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
After TPAC, we are back to having our meeting at the regular time. We meet at our standard time on Thursday: 10am Pacific, 1pm Eastern, 7pm Central European Time. The regulars for this group should have the meeting details in their calendars. For everyone else, the details can be found on the members-only W3C Math WG calendar <https://www.w3.org/events/meetings/d6f2b73d-34fc-4276-b164-bdc62a675dcc/20230713T130000/>. Agenda 1. Announcements/Updates/Progress reports 2. Interop submission suggestions 3. MathML next issue cleanup <https://github.com/w3c/mathml/labels/MathML-Next> 4. MathML intent core properties <https://w3c.github.io/mathml-docs/intent-core-properties/>
Today’s the day for Safari 17.0. It’s now available for iOS 17 and iPadOS 17.
[Update September 26th] And now, Safari 17.0 is available for macOS Ventura, and macOS Monterey, and macOS Sonoma. Safari 17.0 is also available in the vision OS Simulator, where you can test your website by downloading the latest beta of Xcode 15, which supports the visionOS SDK.
If you are running macOS Ventura or macOS Monterey, you can update Safari by going to Software Update and clicking “More info”. On macOS Ventura, that’s > System Settings > General > Software Update > More info, and choose to update Safari. To get Safari 17.0 on your iPhone or iPad, go to Settings > General > Software Update and tap to update to iOS 17 or iPadOS 17.
While new web technology is defined in web standards all the
time, it’s rare for a brand-new HTML element to come along. It only
happens when something meets very high
expectations of utility. Search is a key function for most
websites, so now, there’s a new element —
<search>
.
Up until now, search boxes were often constructed in markup like this:
<div class="search-box" role="search">
<form action="/search">
<p><input type="search" name="q"> <input type="submit" value="Search!"></p>
</form>
</div>
Notice the presence of ARIA role="search"
on the
first line of code above. Without the
ARIA search role, search functionality is not made properly
accessible to all users — a problem that’s far too easy to
create.
The
<search>
element automatically provides the
correct accessibility semantics for the search section of a website
or web app. This aligns with the principles of HTML, making the
default accessible, instead of requiring you to remember to take an
action to add accessibility. The <search>
element also supplies the semantic markup for communicating the
inherent meaning of a search form to a wide range of computing
contexts, from translation algorithms to machine learning.
We are excited to be the first browser to ship this new
<search>
element, now supported in Safari
17.0.
<search>
<form action="/search">
<p><input type="search" name="q"> <input type="submit" value="Search!"></p>
</form>
</search>
Browsers without support for the
search element will recognize there is an element present, and
they will recognize any attributes it has — including roles, IDs,
and classes. It will simply behave like a generic element, as if it
were a <div>
. Because of this, we recommend you
include an ARIA search role on the <search>
element for now. By using <search
role="search">
, you will ensure every user has the
intended experience. And in the future, when all browsers have
support, you can drop the ARIA search role.
In the meantime, you can start using <search>
today with confidence, long before a significant percent of your
audience use browsers with support.
Safari 17.0 adds support for the popover attribute. It provides a framework built into the web for displaying overlays, popups, popovers, and dialogs.
There are two types of popovers, which can be used as values for
the popover
attribute:
auto
popovers, which automatically close when you
click outside of the popover; andmanual
popovers, which don’t have this automatic
closing behavior.Start with a button (either <button>
or
<input type="button">
) to create the UI for
opening and closing the popover. Then, add the appropriate HTML
attributes to create the desired result.
The popovertarget
attribute connects the button to
the popover content through an ID. The optional
popovertargetaction
attribute takes show
,
hide
, or toggle
as values. By default,
toggle
is used.
<button popovertarget="info-box" popovertargetaction="show">More info</button>
<article id="info-box" popover="auto">
<h2>Additional Information</h2>
<p>Here’s something I wanted to tell you.</p>
<button popovertarget="info-box" popovertargetaction="hide">Close</button>
</article>
This is just one UI pattern you might find useful. There are many possible combinations. Having a popover mechanism in HTML makes for quick work, while ensuring great usability and full accessibility.
To go beyond a simple button trigger, a JavaScript API opens up
more powerful possibilities through showPopover()
,
hidePopover()
, and togglePopover()
.
Safari 17.0 on macOS also adds support for
<hr>
inside of <select>
, a
feature the WebKit team added to the HTML web standard. This makes
it easier to create a visual separator between items without
requiring the use of JavaScript.
<select>
<option value="pizza">Pizza</option>
<option value="hamburger">Hamburger</option>
<hr>
<option value="sushi">Ice cream</option>
<option value="pasta">Cake</option>
</select>
In Safari
16.4, we shipped initial support for
font-size-adjust
, which allows you to easily make
the visual size of different fonts consistent — even across all
possible combinations of fallback fonts.
The basic version of font-size-adjust
lets you tell
the browser to resize letters so that their x-height is a specific
ratio of the font-size
. In Safari 17.0, we’re
expanding support to include more advance capabilities of
font-size-adjust
, including the from-font
value and the two-value syntax.
The two-value syntax lets you to switch from adjusting
ex-height
to adjusting cap-height
,
ch-width
, ic-width
, or
ic-height
— providing support for a broader range of
writing systems and design choices.
Instead of declaring a ratio with a number value, the
from-font
value allows you to ask the browser to pull
the sizing metric from the primary font being specified, and apply
that ratio to all fonts.
Let’s look at an example. Here, font-size-adjust
tells the browser to make all of the fonts inside
article
match the size of the x-height of the main
font being used. This means all of the text in paragraphs and code
will visually appear to be the same size, no matter which font is
applied from either stack, or how different the paragraph and code
fonts appear in actual size.
article {
font-family: "Iowan Old Style", "Palatino Linotype", "URW Palladio L", P052, serif;
font-size: 1.4rem;
font-size-adjust: from-font;
}
article code {
font-family: "Courier New", monospace;
}
Safari 17.0 also adds support for
@font-face size-adjust
, providing a way for you to
normalize visual size when defining a font’s use.
Safari 17.0 adds support for text-transform:
full-width
and text-transform:
full-size-kana
.
The full-width
value transforms all the characters
in your text to be “full-width” — to match the width of characters
defined in an East Asian script like Chinese, Japanese, or Korean
(CJK). It’s especially useful when typesetting vertical text or
wanting to provide consistency in sizing when mixing CJK with Latin
or other scripts.
The full-size-kana
value transforms the size of
small Kana characters in Japanese to look like their full-size
counterparts — a technique sometimes used to make
ruby
text more legible at small sizes.
Safari 17.0 also adds support for declaring more than one
text-transform
value, so that these values can be
combined. For example text-transform: uppercase
full-width
will transform characters in a Latin script to be
both all capital letters and the same width as the CJK characters
in the font.
To expand what’s possible with web typography, Safari 17.0 adds
two
feature queries for conditionally applying CSS depending on the
presence or absence of browser support for a particular font format
or technology: @supports font-format()
and
@supports font-tech()
.
The font
format feature query tests for support of specific font
formats, like opentype
and woff2
. The
font
tech feature query lets you test for support of specific
OpenType technologies, like COLRv0
.
@supports not (font-tech(color-COLRv0) or font-tech(color-COLRv1)) {
h1 {
color: --text-color-for-non-color-fonts;
}
}
Safari 17.0 also adds support for @font-face { src: url()
tech() }
, making it easy to tell the browser to download and
use a font only if its underlying technology is supported, while
providing alternative font files as fallbacks.
@font-face {
font-family: "My Cool Font";
src: url("mycoolfont-COLRv0.otf") format(opentype) tech(color-COLRv0),
url("mycoolfont-COLRv1.otf") format(opentype) tech(color-COLRv1),
url("mycoolfont-outline.otf") format(opentype);
}
Supported in Safari with -webkit-
prefixes since
2011, the hyphens
and hyphenate-character
properties are now supported in their unprefixed form.
The hyphens
property lets you specify whether or not words should be hyphenated
when text wraps onto multiple lines. The default,
hyphens:manual
, causes the browser to hyphenate only
at manually-specified points. You can instead ask the browser to
insert hyphens automatically according to an algorithm. Be sure to
use the
lang
attribute to identify the langauge being
used, so the browser can reference the correct hyphenation
dictionary.
<html lang="en-US">
<p>Content that will be hyphenated according to
the grammatical rules of U.S. English.<p>
</html>
article {
hyphens: auto;
}
The
hyphenate-character
property lets you specify
which character (or string) to use when breaking words. By default,
it’s set to the content language’s typographic conventions. In
English, for example, it’s set to -
. But if you need
to change it, you can.
Safari 17.0 adds support for @counter-style
.
CSS
Counter Styles provide a mechanism for changing a counter’s
language or character set in CSS — both for ordered/unordered lists
(with
list-style-type
) and for
CSS Counters.
For example, I can define a counting system for Serbian, and use it to number ordered lists.
@counter-style upper-serbian {
system: alphabetic;
symbols: 'А' 'Б' 'В' 'Г' 'Д' 'Ђ' 'Е' 'Ж' 'З' 'И' 'Ј' 'К' 'Л' 'Љ' 'М' 'Н' 'Њ' 'О' 'П' 'Р' 'С' 'Т' 'Ћ' 'У' 'Ф' 'Х' 'Ц' 'Ч' 'Џ' 'Ш';
}
ol {
list-style: upper-serbian;
}
WebKit for Safari 17.0 fixes our remaining accessibility issues
with display:contents
.
Improvements in the experience of elements which are styled
display:contents
include:
grid
,
treegrid
, table
, row
,
gridcell
, cell
,
columnheader
, tree
and
treeitem
are properly exposed in the accessibility
tree.aria-checked
works for elements with the
ARIA roles tree
and treeitem
.directory
.display:contents
list items.aria-checked
work for
role="treeitem"
.aria-activedescendant
work.aria-grabbed
and
aria-dropeffect
work.aria-flowto
work.speak-as
, AXAccessKey,
aria-owns
, and URL AX APIs work.Safari 17.0 also fixes accessibility issues with HTML tables and
table components that have display: flex
,
grid
, block
, or inline-block
applied.
Safari 17.0 completes WebKit’s support for the Media Queries level 4 web standard, adding support for four new media queries.
Like other media queries, overflow-block
and overflow-inline
provide a way to conditionally apply CSS depending on the qualities
of a user’s device — in this case, how a device handles overflow.
For example, can it scroll the page like a typical browser on a
computer? Does it page the content, like an e-book reader? Or does
it have no mechanism for handling overflow, like a digital
billboard?
The update
media query provides a way to apply CSS depending on the refresh
rate of the device. For instance, e-book reader screens often have
slower refresh rates. A printed page has no refresh rate at
all.
We’ve also added support for thescripting
media query. It allows you to conditionally apply CSS based on
whether or not JavaScript support is enabled in the user’s
browser.
Safari 17.0 also improves our implementation of
image-set()
, increasing interoperability with other
browsers as part of our commitment to Interop 2023.
The image-set()
function lets you list a set of
images in CSS, with information about each, and have the browser
pick the most appropriate image to use from that set. Safari 17.0
now supports the optional resolution
and
type
arguments.
The resolution
argument provides a way to declare
information about the resolution of each image: 1x
,
2x
, 600dpi
, etc.
The type
argument provides a means to offer
multiple file types — including the JPEG XL and HEIC formats
newly supported in
Safari 17.0. The browser will download and use the first one it
supports.
main {
background-image: image-set(
url("images/trees.jxl") type("image/jxl"),
url("images/trees.avif") type("image/avif"),
url("images/trees.jpeg") type("image/jpeg")
);
}
To keep up with the most recent changes to the web standard for
Container Queries, Safari 17.0 adds support in
CSSOM for containerName
and
containerQuery
, and updates
conditionText
to be the concatenation of the first two
in CSSContainerRule
.
Safari 17.0 also adds support for
contain-intrinsic-size
, providing the means for
setting the size of an element, when that element is subject to
size containment.
To increase the usefulness of :has()
,
WebKit now supports :has(:buffering)
and
:has(:stalled)
. These expand the ability to apply CSS
conditionally based on the state of media playback. Safari 17.0
also supports :has(:defined)
letting you apply styling
in the presence of a custom element that’s been defined.
Safari 17.0 and WebKit for iOS 17, iPadOS 17, and macOS now fully support the Storage API.
WebKit is also updating the storage quota policy. Previously, an origin had a starting storage limit of 1 GB. When exceeding that limit, the subsequent storage operation would fail in Home Screen web apps or prompt the user to give permission to increase the quota in Safari.
Now, the origin quota is calculated based on total disk space.
This means an origin generally gets a much higher limit, and users
will no longer receive permission prompts in Safari. You can use
StorageManager.estimate()
to get estimated usage and
quota values per origin.
With each origin getting a higher storage limit by default, WebKit will evict data by origin when the total usage of all origins together is bigger than a certain value — the “overall quota”, calculated based on total disk space.
An origin is exempt from eviction when its storage mode is
persistent. To check the storage mode of your origin, you can use
navigator.storage.persisted()
. To request the mode be
changed to persistent, you can use
navigator.storage.persist()
. Critical bugs have been
fixed to ensure the storage mode value is remembered across
sessions.
Read Updates to Storage Policy for many more details, along with example code.
When using Canvas,
the rendering, animation, and user interaction usually happens on
the main execution thread of a web application. Offscreen
Canvas provides a canvas that can be rendered off-screen,
decoupling the DOM and the Canvas API so that the
<canvas>
element is no longer entirely dependent
on the DOM. Rendering can be transferred to a worker context,
allowing you to run tasks in a separate thread and avoid heavy work
on the main thread that can negatively impact the user experience.
The combination of DOM-independent operations and rendering of the
main thread can provide a significantly better experience for
users, especially on low-power devices.
Support for Offscreen Canvas 2D operations shipped in Safari 16.4. Now, Safari 17.0 adds support for WebGL in Offscreen Canvas, bringing these benefits to 3D.
The
CanvasRenderingContext2D.drawImage()
method of the
Canvas 2D API supports different sources of an image to be drawn
onto the canvas. Safari 17.0 adds support for SVG by allowing
SVGImageElement
as an image source to
drawImage()
.
Safari 17.0 adds JavaScript support for two new features for Regular Expressions: RegExp v flag with set notation + properties of strings and RegExp duplicate named capture groups.
RegExp v flag allows for the creation of regular expressions containing Unicode properties, including some multi-character Emoji sequences. It also allows for creating regular expressions with union, intersection, and subtraction set operations on character classes and collections of strings.
Duplicate named capture group enables the creation of regular expressions with named captures where more than one capture group uses the same name. This allows you to create regular expressions with intuitive group names where there is more than a one-way pattern to search. An example is creating one regular expression that can search data strings written in multiple ways, e.g. M/D/Y versus D-M-Y, while extracting the matched results with captured group names month, day, and year regardless of which string format was matched.
Another new JavaScript feature adds seven Set
operation methods, including intersection()
and
union()
, as well the comparison methods
difference()
, isSubsetOf()
and
isSuperSetOf()
. Together these new methods make
Sets
powerful first class objects.
const setA = new Set(["apples", "oranges", "grapes"]);
const setB = new Set(["bananas", "grapes", "apples"]);
// Union into single set
const union = setA.union(setB);
// Interection "apples" and "grapes"
const intersect = setA.intersection(setB);
// Difference "oranges"
const diff = setA.difference(setB);
Also check out the new .symmetricDifference()
and
.isDisjointFrom()
methods, which open up some
interesting comparison possibilities.
WebKit for Safari 17.0 adds support for
Gamepad.prototype.vibrationActuator.
It enables
“dual-rumble” haptic feedback on gamepads. The API allows you to
check if “dual-rumble” is supported by the gamepad, as well as
control the duration and magnitude of the haptic effect.
const [gamepad] = navigator.getGamepads();
if (gamepad?.vibrationActuator?.canPlayEffectType("dual-rumble")) {
const options = {
duration: 1000, // 1 seconds
startDelay: 0, // play now
strongMagnitude: 0.5, // low-frequency vibration
weakMagnitude: 0.2, // high-frequency vibration
};
gamepad.vibrationActuator.playEffect("dual-rumble", options);
}
Traditionally, to ensure you could parse a URL, you needed to
use a try
sequence. Now, you can directly detect if an
URL input can be parsed with URL.canParse(tentativeURL,
optionalBase)
. The method will return true
or false
.
In addition, the has()
and delete()
methods on URLSearchParams
have been extended. The
has()
method makes it possible to detect if a
parameter has been set. And the delete()
method can
delete a parameter. Until now, you could only check for and delete
by name alone. Now, the methods have been extended so that you can
check for and delete specific name-value pairs.
For example, on an URL with duplicate key such as
https://example.com/?currency=USD¤cy=JPY
,
before you could only check params.has('currency').
Now, it’s possible to do params.has('currency',
'JPY')
.
Be mindful that with this update, method signatures are not directly feature detectable, so they can return false positives. Until all browsers support these updates, be sure to run a test to confirm support. For example:
// These return true only when the updated API is supported!
function supportsUpdatedURLHasMethod() {
const param = new URLSearchParams({ key: "value" });
return param.has("key", "does not exist") === false;
}
function supportsUpdatedURLDeleteMethod() {
const param = new URLSearchParams({ key: "value" });
param.delete("key", "does not exist");
return param.has("key");
}
You can now use relative URLs (as well as HTTP(S) URLs) in the
WebSocket
constructor — this makes it a lot easier to
point to WebSocket endpoints without hard-coding URLs into your web
application. For example, new
WebSocket('/updates')
.
<link rel="modulepreload">
.customElements.getName
method.Intl.Locale
getter method names to be
prefixed with “get”.move()
method of FileSystemHandle
starting to overwrite target by default.Safari 17.0 adds support for JPEG XL. The new image format provides another modern option for finding the right balance between visual quality and file size.
JPEG XL uses a new compression algorithm called “Modular Entropy Coding” that allows for greater flexibility in adjusting the compression ratio. Similar to JPEG, it has support for progressive loading, making it well-suited for images served over slow connections, since users start to see the image before the whole file is downloaded. And you can recompress existing JPEG files into JPEG XL without any loss of quality or data, while reducing their size by an average of 20%. Or compress from the original image file to create a file that’s up to 60% smaller compared to JPEG.
Use the
<picture>
element to provide JPEG XL files
to browsers that have
support, while easily providing a fallback format to browsers
that don’t.
<picture>
<source srcset="images/sophie.jxl" type="image/jxl">
<img src="images/sophie.jpg" alt="tiny brown puppy sleeping in the sun">
</picture>
JPEG XL is supported by WebKit for Safari 17.0, Safari View Controller and WKWebView on iOS 17, iPadOS 17, watchOS 10, macOS Sonoma, macOS Ventura and macOS Monterey.
Safari 17.0 also adds support for HEIC images. A HEIC photo can take up about half the space of an equivalent-quality JPEG file.
HEIC is the image format used across Apple devices to store photos captured by the cameras, as well as in iCloud Photos. With support for HEIC in Safari, Safari View Controller, and WKWebView, you can now support importing and editing such photos right in the browser, without needing to convert them into another format. HEIC is also ideal for displaying images when using WKWebView inside an app.
Learn more about JPEG XL and HEIC by watching Explore media formats for the web at WWDC23.
Safari 17.0 adds support for AV1 video on devices with hardware decoding support, like iPhone 15 Pro and iPhone 15 Pro Max.
The AV1 video codec adds another option for delivering video across the web, while finding the right balance between gorgeous quality and smaller file sizes. Hardware encoding/decoding provides an efficient way support the video codec without an undesired impact on battery life.
The progressively-enhanced nature of the web makes it easy to provide files in a variety of options, and let the user’s browser choose the one that’s best for them.
<video controls>
<source src='dogs-in-AV1.mp4'
type='video/mp4 codecs="av01.0.19M.10.0.110.09.16.09.0, mp4a.40.5" '>
<source src='dogs-in-HEVC.mp4'
type='video/mp4 codecs="hev1.2.4.L120.B0", mp4a.40.2" '>
<source src='dogs-in-VP9.webm'
type='video/webm codecs="vp9, vorbis" '>
</video>
In this example, the three options are compressed using AV1, HEVC (H.265), and VP9 video codecs, while being delivered in two video file formats: MP4 and WebM. That’s because compressed videos are delivered across the web inside a media container that has its own file format, like MPEG-4, WebM, Ogg, or QuickTime MOV. That container holds both the video stream, compressed in a particular codec, and the audio stream, compressed in another codec.
As a developer, you use the source
element to link
to each file, list the type of file, and specify the codecs being
offered — providing the browser with the information it needs to
decide which file to start streaming. The type
attribute specifies the
MIME type of the container, along with
codec
information about how the video and audio
are each compressed. The browser will use the first file that it
fully supports.
The AV1
codecs parameter string can communicate not only that the video
is compressed with AV1, but other characteristics of the video,
including the color space and dynamic range. For example, you could
use av01.0.19M.10.0.110.09.16.09.0
for a video
compressed with AV1 Main Profile, level 6.2, Main tier, 10-bit HDR.
That’s basically asking the browser “do you support AV1 with a
10-bits-per-color and HDR colorspace? If so, here’s a file for
you.” You could instead use a simpler version,
codecs="av01"
, to ask only “hey, do you support
AV1?”
Watching streaming video is an amazing thing we all do with our devices. But to get the highest-possible quality of video, without downloading any unnecessary data and without killing the battery — it takes a complicated stack of technology working under the hood every time you hit the play button.
Adaptive bitrate streaming is a technique for switching between media data formats on the fly, to ensure delivery of the best-possible video quality based on the speed of the internet connection and capabilities of the device, even as those conditions change. For example, adaptive streaming can be configured to switch from 4k to HD resolution when the network slows, to prioritize playback-without-lag over higher-visual-quality.
For years, many websites have used Media Source Extensions (MSE) to handle adaptive bitrate streaming. It’s a low-level toolkit that gives the web page more control and more responsibility for managing buffering and resolution. But MSE isn’t particularly good at managing buffer levels, network access, and media variant selection. Plus, it uses a lot of power, which can be especially painful on mobile devices with smaller batteries.
Managed Media Source is a brand-new, power-efficient solution that fulfills advanced needs for streaming video. It supports the flexibility and capabilities of MSE, without any of the drawbacks.
WebKit for Safari 17.0 brings the new Managed Media Source API to iPad and Mac, with iPadOS 17, macOS Sonoma, macOS Ventura, and macOS Monterey.
Note that support for Managed Media Source is only available when an AirPlay source alternative is present or remote playback is explicitly disabled.
const videoSource1 = document.createElement('source');
videoSource1. type = 'video/mp4' ;
videoSource1.src = URL.createObjectURL(mediasource);
video.appendChild(videoSource1) ;
const videoSource2 = document.createElement('source');
videoSource2. type = 'application/x-mpegURL' ;
videoSource2.src = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8";
video.appendChild(videoSource2);
Learn all about Managed Media Source API by watching Explore media formats for the web at WWDC23.
If you’ve
enabled Developer Features, Safari now provides a media player
stats overlay where you can see technical details about a video —
its source type, size, performance metrics, resolution, codec
string, and color configuration. To show the overlay, use the
context menu on any <video>
element and select
“Show Media Stats”. Now you can tell at a glance the exact codec
and configuration used by media on your page and use that
information to help you write your code, including craft accurate
queries in
MediaCapabilities
.
Safari 17.0 on macOS Sonoma adds support for one or two channel Opus audio in WebM and MPEG-4 containers.
WebKit now supports USB cameras on iPadOS 17. When a USB camera is attached to an iPad, it’s included in the output of enumerateDevices and is selectable with getUserMedia along with the built-in cameras.
Improvements to WebRTC add support for
InputDeviceInfo
, the inbound rtp
trackIdentifier
stat field, exposing zoom
in MediaTrackCapabilities
, and
getDisplayMedia
video track clone resizing.
WebKit for Safari 17.0 adds additional support for low-power mode and optimizing video streaming by tone mapping HDR video to SDR.
And Safari 17.0 adds support for WebCodecs temporal
scalabilityMode
for software codecs, including parsing
and error handling.
Safari 17.0 for macOS Sonoma is now available. And with it, web apps come to Mac.
You can add a website — any website — to your Dock. In Safari, go to File > Add to Dock, adjust the name and icon if desired, and the web app icon appears in your Dock.
Web apps on Mac let you focus on the websites you use all the time, separate from the rest of your browsing. Like all Mac apps, web apps work great with Stage Manager, Mission Control, and keyboard shortcuts like Command + Tab. Web apps can be opened from the Dock, Launchpad, and Spotlight Search. Web apps work with AutoFill credentials from iCloud Keychain and from third-party apps that have adopted the Credential Provider Extension API. And users can grant permission to a web app to use their camera, microphone and location in the same way they grant such permissions to other Mac apps through system prompts and the Privacy & Security section of System Settings. Web apps on Mac support web push, badging, service workers, web app manifests, and all the usual web standards implemented by WebKit, just like web apps on iOS and iPadOS.
When a user clicks on a web app icon, the website always opens
in its own window as a web app, even if the site does not have a
manifest file (or legacy
meta
tags). This expands the usefulness of web
apps, putting users in charge of determining what becomes a web app
and giving them the confidence it’s always something they can
choose.
While the default web app experience on Mac is great, as a web app developer you can use web technologies like Service Workers to make it even better. By providing a web app manifest, you can customize the presentation of your web app, including the display mode, name, theme color, and start URL. Learn about the details by watching What’s new in Web Apps at WWDC23.
When a user adds a website to their Dock, Safari will copy the website’s cookies to the web app. That way, if someone is logged into their account in Safari, they will remain logged in within the web app. This will only work if the authentication state is stored within cookies. Safari does not copy over any other kind of local storage. After a user adds a web app to the Dock, no other website data is shared, which is great for privacy.
Add to Home Screen is now available from Safari View Controller
on iOS 17 and iPadOS 17. Tapping a link within an app that uses
Safari View Controller as the in-app browser allows the user to add
the open website to their Home Screen right from there. Just like
Add to Home Screen from Safari on iOS and iPadOS (or any other
browser that
implemented support), if the website has a manifest file with a
display
mode of standalone
or
fullscreen
, it will open as a Home Screen web app.
Safari 17.0 brings significant changes to the experience of our web developer tools. Be sure to enable Developer Features to gain access to the Web Inspector, Develop Menu, Feature Flags, Responsive Design Mode, the ability to connect to iOS / iPadOS / visionOS Simulators, and much more.
In Safari 17.0 on macOS Sonoma, macOS Ventura and macOS Monterey, a completely redesigned Develop menu makes it easier to find the key tools available to help you create websites, web apps, web content inside other apps, web extensions, and more.
Devices and simulators are now more prominent in the Develop menu, making them easier to identify at a glance. Inside the menu for each iOS or iPadOS device, app icons make it easier to find the application or web content you want to inspect. On macOS Sonoma, you can pair with Apple TV and Vision Pro directly from Safari to inspect those platforms.
The new Feature Flags panel replaces the previous Experimental Features section of the Develop menu, allowing you to search for specific features and to easily see bolded features toggled from their default state. Feature flags are now organized by topic: Animation, CSS, HTML, JavaScript, Media and more. And each feature is clearly categorized into one of four statuses: Stable, Testable, Preview, and Developer.
Stable represents features that have recently shipped in Safari, on by default. These features can be turned off to help you debug an issue or test progressive enhancements. Stable features will eventually be removed from the list.
Testable features are disabled by default. These features might be in the process of being implemented, or they might be waiting for changes to the web standards. They have a ways to go, but still could be interesting enough to test out.
Preview is for features that have not yet shipped in Safari, but are closer to being complete. These features are on by default in Safari Technology Preview, and are ready for developers to try out. They may still have bugs, or may even undergo significant change as their web standards evolve. This is a great time to help find bugs and file issues, and to comment on whether the web standard for a new technologies solves your needs.
Developer features are not as common. This category is for miscellaneous features added to the list of feature flags so developers can toggle them on and off for testing. New developer tools may appear here, for example.
The new Developer panel in Safari 17’s Settings let you toggle developer features that apply across all websites open in Safari, like Allow remote automation (which enables automating Safari with WebDriver) and other features that were previously in the Develop menu.
Some previously-global settings from the Develop menu, like disabling JavaScript or changing WebRTC behavior, have moved to Web Inspector where they are now scoped to the inspected tab, allowing you to use other tabs and windows normally.
Responsive Design Mode has also been refreshed to focus on the responsiveness of a page’s design at any width or height on your Mac. You can type in a specific viewport size at the top of Responsive Design Mode in addition to dragging the resize handles around the view.
Also new is the ability to open the page in a Simulator right from Responsive Design Mode.
You can also open any page from Safari in a Simulator directly from the Develop > Open Page With menu, even when you are not using Responsive Design Mode.
Using a Simulator is a great way to test the experiences you’re
making on iOS, iPadOS, and visionOS — including device-specific
behaviors, like the rendered size of type, the effects of the
viewport
meta tag, double-tap to zoom, and even
Home Screen web apps on iOS and iPadOS. Simulators are free, and
come included with Xcode from the
Mac App Store.
If you don’t have Xcode installed, a link to documentation is conveniently available in the Develop > Open Page With menu to help you get started, or to add more devices and OS versions.
Learn all about the new Develop menu, redesigned Responsive Web Design mode, how to easily connect to directly to a real device, how to install and use a Simulator, and much more in Rediscover Safari developer features at WWDC23.
We’ve also made improvements to Web Inspector. When working with minified sources, pretty printing in Web Inspector can help make the code easier to read, set breakpoints in, and debug. New in Safari 17.0, more JavaScript syntax is supported for pretty printing minified scripts, including template strings, optional chaining, private variables and functions in classes, and static variables and functions.
Changes to Web Inspector in Safari 17.0 also include:
WeakRef
.Learn more by watching What’s new in Web Inspector at WWDC23.
Last year brought GPU process support to WebKit on iOS, iPadOS and watchOS. This year we’re adding support on macOS Sonoma. The change moves all drawing (including the drawing of page content, 2D Canvas and WebGL rendering) so it occurs in the “GPU Process”. This new architecture allows WebKit to isolate powerful graphics hardware and driver access away from the WebContent process, which is the process that interacts with untrusted content from the internet. The new design also allows the WebContent process sandbox to completely block IOKit access, resulting in improved security.
New interfaces are added to WKWebsiteDataStore
and
related classes to further unlock potential of your WebKit apps.
The new capabilities include creating persistent website data
stores, configuring cookie policy, customizing proxy settings,
requesting HTTPS upgrade for all navigations, and controlling state
of inline prediction for autocomplete.
Safari 17.0 adds support for profiles. History, favorites, Tab Groups and website data such as cookies, caches, service workers, and Web Push subscriptions are scoped per-profile. Users can manage each profile’s data individually.
In Safari 17.0, Private Browsing gets even more private with added protection against some of the most advanced techniques used to track you. Technical changes include:
iOS 17, iPadOS 17, and macOS Sonoma feature a redesigned experience of editing text, with even more accurate autocorrect and predictions inline as you type. In Safari 17.0 on macOS Sonoma, the redesigned text cursor now uses the system accent color, just like iOS. CJK marked text also has a new appearance and matches the system accent color.
Safari 17.0 also improves the interoperability of the Range API and Selection API. And it adds Live Text support for vertical text recognition in images and videos.
You can now enable Apple Pay to be used in third-party iframes
by setting the allow="payment"
attribute. This
“permissions policy” enables the Payment Request API on an iframe,
allowing you to embed third-party payment handlers. If using this
feature, be sure you also use the
X-Frames-Options HTTP header to prevent your site from being
embedded by malicious websites.
Safari 17.0 adds support for largeBlob
extension
for passkeys. Websites can use the additional storage to save data
that can later be retrieved when signing in with a passkey. These
saved blobs are synced and shared along with passkeys.
We also are adding support for enterprise
WebAuthn
attestation for passkeys in iCloud Keychain. Managed devices can
provide an attestation statement when creating passkeys, using a
certificate provisioned through MDM.
Safari 17.0 adds support for HTTP Early Hints and
preconnect
.
Lockdown mode now:
<embed>
element.Lockdown Mode is also now supported in WebKit on watchOS.
Safari 17.0 now lets you customize where extensions run with even more granularity.
First, Safari App Extensions now have the same per-site permissions model as Safari Web Extensions. It puts users in control over the browsing data they share with every extension they use in Safari.
Second, as an additional layer of control, Safari Extensions can be turned off in Private Browsing. Extensions that access browsing data, like browsing history or webpage contents, will be off by default in Private Browsing but can be allowed with a single toggle in Safari Settings.
Third, all Safari Extensions can be turned on or off per Safari Profile. You can imagine this being useful for turning on an extension used only for school or work in a relevant profile, but keeping it off everywhere else. Each profile runs a separate instance of the extension — meaning there are unique storage areas, background pages, service workers, and more. However, per-site permissions are shared across profiles, so an extension only needs to be granted once. If your extension leverages native messaging capabilities to communicate with a host app, it’s possible to distinguish between profiles to ensure your extension behaves correctly across profiles.
Learn more by watching What’s new in Safari extensions at WWDC23.
In addition to the over 65 new features, WebKit for Safari 17.0 includes an incredible amount work polishing existing features.
aria-owns
attribute for the
radio
role. (23630121)<label>
elements. (24033482)role=list
.
(55145117)aria-activedescendant
to set the active cell within a
grid. (84439987)input
in Web
Inspector. (103907008)input[type=date]
individual fields getting
announced as “group”. (104928713)popovertarget
attribute to
expose expanded state to assistive technologies. (105425310)aria-errormessage
to not be exposed when
aria-invalid
is false
. (105813974)aria-labelledby
. (107570512)aria-describedby
to be equivalent to
aria-description
and override it when both are
present. (108386295)<dialog>
or aria-modal
.
(108704582)required
attribute over
aria-required
when both are present. (111370591)createImageBitmap
using
ImageData
to respect the premultiply flag.
(89382358)@imports
in HTML missing quote marks
getting mistakenly hidden from the Preload Scanner. (46031271)@supports selector()
fails for
all -webkit-
prefixed pseudo elements. (95683424)background-size
to not accept unitless
lengths. (97039770)text-shadow
and box-shadow
with
currentcolor
. (102542182)color()
function incorrectly parsing missing
components. (104679823)text-emphasis
marks to not be rendered if
there is no emphasized character. (104688963)image-set
compatibility.
(105097744)mask
and
background
shorthands to not serialize as “initial”.
(105114588):has()
to support invalidation of
:buffering
and :stalled
pseudo-classes.
(105163364)cssText
to follow CSS OM specifications.
(105235157)font-feature-settings
and
font-variation-settings
to sort their tags
alphabetically. (105483635)transition-property: all
to include custom
properties. (105556538)#x
, such as 1x
, to be
recognized a resolution calc unit category. (105700660)@font-face
. (106635029)image-set
to accept zero resolution and
clamp negative resolutions used in calc expressions.
(107167273)@supports
rule.
(107397723)cursor: pointer
on unclickable
<area>
. (107591470)CSSStyleValue.parse
to accept properties
from the document-derived context. (108249093):dir()
pseudo-class after
removing the :dir
content attribute from the document
element. (108480507)type()
function for image-set()
to only take one string. (108909363):has()
to support invalidation of the
:defined
pseudo-class. (109896689)cjk-earthly-branch
and
cjk-heavenly-stem
counter styles to have
fixed
system. (110796633)<ray-size>
to be optional in
ray()
for CSS Motion Path. (110818689)text-overflow: ellipsis
so it works with
overflow: clip
. (111182654)cjk-earthly-branch
and
cjk-heavenly-stem
counter styles to fallback to
cjk-decimal
. (111208503)inline-flex
and inline-grid
boxes
to stop propagating underlines to align with other
browsers. (111228920)@font-face { src: format() }
to parse valid
unsupported keywords. (112135869)-webkit-box-decoration-break: clone
with
left and right padding causes unexpected wrapping of inline
content. (112197978)xmlns
attributes first and use lowercase “ns” when
generating prefixes. (103234827)getRangeAt
and throw errors as specified.
(69015762)<br>
when the root editable element is phrasing content.
(105438898)input.validity
reporting valid:
true
for partially completed dates and times.
(102984901)AbortController.abort()
.
(104485543)<input pattern>
to use the regular
expression v
flag rather than u
.
(105268069)<input
type="search">
using the name
attribute.
(105369635)maxlength
attribute treating emoji of
string length 11 as length 1. (105926915)HTMLOptionsCollection.length
setter to use a
limit of 100,000. (105988871)<select>
to single. (106264081)<summary>
element with a
tabindex
. (106550778)overflow: hidden
rendering
too many columns. (109343502)sizes
attribute. (107509739)vary
header behavior for opaque responses.
(107769146)Object.entries()
by
1.5×. (100783096)/p{Number}--]/v;
to be a syntax error.
(109400589)String#charAt
to support out-of-bounds
handling in DFG. (111421698)top
CSS added to audio controls when the
height of an <audio>
element is adjusted on iOS.
(99548840)SourceBuffer.timestampOffset
behavior with
WebM content. (105801920)bufferedchange
event to fire whenever an
eviction occurs. (106168510)playing
event to fire earlier.
(107041118)border-image-repeat: round
.
(28213711)text-overflow: ellipsis
incorrectly
truncating text in right-to-left mode. (29464657)label
attribute for the
<option>
element on iOS. (53989128)background-clip:
text
and transform: rotate(…)
. (54325642)overflow: hidden
and text-overflow:
ellipsis
are set. (94330690)translate
property
animation. (102064448)block
to
inline-block
. (103637239)<details>
marker maintain the same
margin in right-to-left as in left-to-right. (104275835)preserve-3d
to apply to pseudo-element
children. (105474987)clear
.
(105775276)<body>
to root propagation
when content: paint
is set on the
<body>
or the root. (105850374)margin-trim:
block-end
. (106524654)calc()
values on
<colgroup>
elements. (106692191)flex-item
inside
inline-flex
with column flex-direction
.
(107029563)display:
inline
content when text-align
is not
start
. (107271178)display:
inline
content when text-indent
is present.
(107280354)display:
inline
content when a float is present. (107294351)text-align
. (107321638)transform-style: preserve-3d
preventing
links when :after
has a negative z-index
.
(107671388)display: flex
on content change. (107694159)line-height
to not affect the enclosing
height. (107832246)contenteditable
. (107996603)-webkit-line-clamp
overlapping blocks even
with overflow: hidden
, when mixing
<span>
and <div>
.
(108116069)letter-spacing
breaking
-webkit-box-decoration-break: clone
. (108701795)decoding="async"
flickering
while zooming in. (108930635)line-height: 0
. (108988226)alt
text rendering horizontally in vertical
writing mode. (109004347)align="abscenter"
to
vertical-align: middle
(109081191)overflow: clip
when an intrusive float is
present. (109293228)overflow: auto
.
(109384976)bordercolor
attribute on table elements to
not create a visible border. (109436009)CanvasRenderingContext2D.putImageData
until a forced
re-render. (112901862)func
parameter is used. (100034937)scripting.executeScript
return types.
(107044691)textLength
behavior. (32066826)overflow="visible"
having no effect on the
dimension of a <use>
element unless its
dimensions are specified. (98577733)<marker orient="-1">
to orient
correctly. (109312083)animateMotion
to accumulate properly with
rotate: auto
or rotate: auto-reverse
.
(109489241)display
property for SVG elements.
(109928375)begin-value-list
doesn’t have a matching value in
end-value-list
. (109935392)textLength
whitespace and chunk handling for
<tspan>
elements. (109981392)<text>
element. (110119702)feMorphology
. (110504653)table-layout: fixed
not getting applied when
the width is max-content
. (105627723)transition-property: all
to
distinguish matching any CSS property or Animation object.
(87785199)bolder
or
lighter
is used on a font-weight
property. (105098349)inherit
.
(105099874)all
value for the
transition-property
to parse as a keyword, not a CSS
property. (105556116)CSSKeyFramesRule.length
.
(105565920)mousemove
event when a
modifier key is pressed. (81287778)<body>
to
not be included in document.body.innerHTML
.
(95557786)screen.colorDepth
reporting the incorrect
value on iOS. (99871925)as
property in
<link rel="preload">
. (100161255)fetch()
. (101171705)scrollWidth
and
scrollHeight
to include padding and any whitespace
added by decorations. (104332108)focus()
method with
delegatesFocus
in Shadow DOM. (104927020)GamepadHapticActuator.playEffect()
. (105175808)Gamepad.vibrationActuator.type
to be
dual-rumble
. (105175859)location.href
to throw a SyntaxError on a
URL parser failure. (105631453)postMessage
for cross-origin iframes.
(106439413)Worklet.prototype.constructor
.
(106533500)innertHTML
serialization to not have special
handling for javascript:
URLs. (107362610)<
, >
,
&
, and non-breaking space characters inside
<noembed>
, <noframes>
, and
<plaintext>
elements when scripting is enabled.
(107381507)contentScriptType
, contentStyleType
, and
externalResourcesRequired
attributes, and the XML
xml:base
attribute. (107428878)document.applets
to no longer return any
elements. (107926196)data:
URLs to behave the same everywhere.
(107982669)movementX
and movementY
in pointermove
events. (108112600)visibilitychange
. (108279602)<frameset>
inside
<template>
to be ignored. (109081113)binaryType
setter to not throw.
(109192086)DeviceMotionEvent
and
DeviceOrientationEvent
on the global
Window
object on macOS. (109580299)dir
attribute of
documentElement
not updating a child element matching
the :dir
pseudo-class. (109976294)window.stop()
to fire abort events on
XMLHttpRequest asynchronously. (110086856)<select>
with multiple enabled not
consistently firing the onchange
event.
(110274850):nth-child
and :nth-last-child
. (110451692)XMLHttpRequest.responseXML.characterSet
.
(110863647)mousemove
events to one per
rendering. (110921187)HTMLTableSectionElement.insertRow(0)
and
HTMLTableRowElement.insertCell(0)
. (111791597)<command>
as if it has no
end tag. (107416609)<layer>
and
<nolayer>
from the HTML parser. (107554605)NotificationOptions.silent
.
(107424158)activate
event. (109411104)postMessage
. (109561888)controllerchange
event when a service
worker gets deleted. (109567316)margin-trim
. (103374677)color-mix
CSS in the Styles
sidebar of the Elements tab. (105732322)new URL("/")
to be
more explicit. (109253920)groupIds
.
(109355290)We love hearing from you. Send a reply on X to @webkit to share your thoughts on Safari 17.0. You can find us on Mastodon at @jensimmons@front-end.social and @jondavis@mastodon.social. If you run into any issues, we welcome your feedback on Safari UI, or your WebKit bug report about web technologies or Web Inspector. Filing issues really does make a difference.
Download the latest Safari Technology Preview to stay at the forefront of the web platform and to use the latest Web Inspector features. You can also read the Safari 17.0 release notes.
We just met at tpac and i only returned to the US early this morning and so haven't put together an agenda. Let's skip meeting on Monday unless someone feels there's something urgent for us to meet about? If anyone still wants to spend that hour on something, helping out by triaging/tagging/updating issues in the repo would be greatly valuable/appreciated!
I'm going to be traveling and can't make the meeting. I asked a few people if they wanted to chair the meeting and no one stepped up, so we will postpone the meeting until the 28th. I hope everyone makes productive use of their extra hour ;-) Neil
Attendees: - Neil Soiffer - Louis Maher - Murray Sargent - Bert Bos - Michael Wilson - Sam Dooley - Bruce Miller - Brian Kardell - Deyan Ginev - Cary Supalo <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-regrets> Regrets David Carlisle <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-agenda> Agenda <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-1-questions-comments>1. Questions/Comments We introduced ourselves. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-2-the-future-of-content-mathml-mathml-5->2. The future of content MathML (MathML 5) DG: We need to get support among other communities before we go much further with this. Representatives of the Lean community might be interested in this. DG: We have a lack of consumer standards. NS: How many people are we talking about? DG: We are talking about around one thousand people. Not many developers But Lean has good luck attracting mathematicians. Lean is used to prove theorems. The algebra systems have large databases. NS: Mathematica and Maple may not use MathML content. We discussed the fact that standards allow many organizations to communicate, but might sacrifice some of the organization's advantages by everyone having access to a standard. This can happen when a new method is discovered. DG says we need to do more community building to see what users need from MathML content. NS: asked SD where SD wants to go with MathML 5 because he has a content-MathML based editor. SD found that MathML content works better than presentation MathML for SD's Braille equation editor. SD: How can we communicate the value of content MathML? BM: We need to know if developers know about content MathML. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-3-implementation-plans-for-mathml-4>3. Implementation plans for MathML 4 NS: Who is going to implement MathML 4 with intent. MuS demonstrated his application. *ACTION* MuS will want to describe his application. The application allows people to enter math by typing or by speech and having Unicode characters being entered into a document. The application can also generate SVG math. People can speak math faster than they can type it. He started developing the application near the end of the nineteen seventies. The application was useful at Microsoft. The application is in the public domain. NS: How does this relate to intent? MuS: His idea is that his application will become more effective once we get the list of intent names. DG: Some of the claims for this application are too strong. DG: We should finish the intent list and then make this application more accurate. NS: Intent is meant to get the speech right. If you speak it on input, it seems like a great starting point for specifying what the intent is of the MathML that is created. BM: Because content is hard to get right, intent is a nice prod for us. DG: There was an accessibility forum in June. There are hundreds of people interested in MathML and with arXiv. This is a resource for testers. DG Spoke about the need to have workflows for generating and consuming math. DG: People need a workflow that will let them hear how the math they are generating is spoken. LaTeX users need to be able to generate html and hear how the resulting HTML is spoken. NS then demonstrated some of MathCAT's capabilities. MathCAT stands for Math Capable Assistive Technology. Neil's cat made a brief appearance. He explained his cat's meowing was the impetus for his company's name: "Talking Cat Software". The MathCAT demo can receive math in various forms: ASCIIMath, LaTeX, and of course, MathML. It generates both speech and Braille output. He showed off speech highlighting and also highlighting while navigating the expression. MathCAT makes use intent if it is present. If intent is missing, then MathCAT tries to guess the intent for some notations. MathCAT is used in the production version of NVDA, and the 2024 beta version of JAWS. It is also used in American Printing House for the Blind's Braille Blaster and some other software. A potential project is to integrate MathCAT or SRE (if it implements intent) to editors LateX previewers so authors can not only see their writing, but hear how it sounds also. For someone who is blind, that's an important feature. MuS can use his application to generate math from his speech output, and that math can be turned back into speech with MathCAT. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-4-what-should-we-do-about-tests-for-mathml-4->4. What should we do about tests for MathML 4? NS: What are we going to do about testing. This is critical for MathML 4. How are we going to test MathML 4 which is outside the web platform? NS: We may only have tests that can be judged by humans; that is, we cannot write machine-controlled tests. NS: How do we efficiently run such tests, and where should the tests be stored? BM: We can easily write tests with html and JavaScript. NS to BK, if you were asked to write tests for MathML 4, what would you do? What do you use for input, and what is your output? MUS: has two tests: one for dictation, comparing the input an the output, and a separate test going from Unicode to MathML. NS: Speech output could be part of the test. Where do we put the tests because they are not web platform tests. DG: Start with LaTeX, generate intent, and examine the correctness of the intent. NS: Would like to have LaTeX input and speech output. NS: half of the effort in developing Mathcat was cleaning up the mess/different forms of MathML that software generates. For example, the number 1,234 often has the MathML <mn>1</mn><mo>,</mo><mn>234</mn> DG started a discussion on how the comma and period are used differently in math in different languages. NS: In Vietnam they use both commas and periods as numerical separators. The use of commas as separators in numbers like 1,000 comes from American influence. So it can be quite messy! DG: What should the group be testing? SD: Have we thought about an intent normal form? Can we produce the same intents for different inputs? We may have to specify tests as a function of location and language. NS: As we learned last week, the colon and divided by symbols are treated differently in different countries. DG: What are our test requirements? Is it sufficient to say that we have human-run tests for MathML 4? NS: There are groups dealing with software that are not web based. What do they do for testing? NS: Philippe Le Hégaret said we can have human-run tests; but we must have tests. NS: It is better to have machine-run tests than human run tests. BK: gave an example of testing but was not audible. *ACTION* NS said that we should meet with the ARIA group to discuss testing. They meet at the same time as the Math WG group meets. BK praised the demos. SD: is interested in generating presentation MathML with intent from content MathML. SD wants to use Braille as both input and output. NS: how does SD's work fit in with everyone else's work? SD said he had several synergies with MathML 4 because he wishes to transform Braille input to presentation MathML with intent and back to Braille. He will use content MathML in this process.
Issues ------ * w3c/webcomponents (+6/-0/💬46) 6 issues created: - Quarterly Face to Face Scheduling (by Westbrook) https://github.com/WICG/webcomponents/issues/1031 - Should browsers do bookkeeping on DOM parts after initial parse? (by iteriani) https://github.com/WICG/webcomponents/issues/1030 - Proposal: Custom attributes for all elements, enhancements for more complex use cases (by LeaVerou) https://github.com/WICG/webcomponents/issues/1029 - Explain the relationship of DOM Parts to XHTML (by hsivonen) https://github.com/WICG/webcomponents/issues/1028 - DOM Parts Quarterly Meeting (by rniwa) https://github.com/WICG/webcomponents/issues/1027 - TPAC Web Components Community Group Breakout Takeaways (by Westbrook) https://github.com/WICG/webcomponents/issues/1026 10 issues received 46 new comments: - #1031 Quarterly Face to Face Scheduling (3 by Westbrook, rniwa) https://github.com/WICG/webcomponents/issues/1031 - #1030 Should browsers do bookkeeping on DOM parts after initial parse? (8 by iteriani, justinfagnani, mfreed7, rniwa) https://github.com/WICG/webcomponents/issues/1030 - #1029 Proposal: Custom attributes for all elements, enhancements for more complex use cases (14 by EisenbergEffect, LeaVerou, bahrus, iteriani, smaug----, sorvell) https://github.com/WICG/webcomponents/issues/1029 - #1028 Explain the relationship of DOM Parts to XHTML (6 by bathos, hsivonen, iteriani, justinfagnani, mfreed7) https://github.com/WICG/webcomponents/issues/1028 - #1026 TPAC Web Components Community Group Breakout Takeaways (1 by LeaVerou) https://github.com/WICG/webcomponents/issues/1026 - #1020 RFC: Element Handles for Cross-root ARIA (cross-post from wicg/aom) (1 by behowell) https://github.com/WICG/webcomponents/issues/1020 - #1001 [scoped-registries] How does customElements.upgrade() work? (2 by rniwa, trusktr) https://github.com/WICG/webcomponents/issues/1001 - #1000 Alternative to customized built-in - Element custom enhancements (7 by bahrus) https://github.com/WICG/webcomponents/issues/1000 - #923 [scoped-registries] Element upgrade ordering (1 by rniwa) https://github.com/WICG/webcomponents/issues/923 - #716 Scoped Custom Element Registries (3 by justinfagnani, rniwa, xiaochengh) https://github.com/WICG/webcomponents/issues/716 [custom-elements] [needs concrete proposal] * whatwg/html (+20/-9/💬112) 20 issues created: - Hhjjjb (by RahulKumarq) https://github.com/whatwg/html/issues/9750 - Modification GIF Folder Preview Script (by deiraf) https://github.com/whatwg/html/issues/9749 - Missing links in "Kinds of content" list (by lauch788) https://github.com/whatwg/html/issues/9748 - Site issue resolution is down (by Lilichoux) https://github.com/whatwg/html/issues/9746 - ipa (by jteen-droid) https://github.com/whatwg/html/issues/9745 - Html entities (by Chidiebereeneja) https://github.com/whatwg/html/issues/9744 - `<details>` element does not fire a `beforetoggle` event. (by keithamus) https://github.com/whatwg/html/issues/9743 - Make the currentTime setter clamp to duration (by foolip) https://github.com/whatwg/html/issues/9742 [topic: media] - A (by Mhtpyurt) https://github.com/whatwg/html/issues/9741 - Tamam (by Mhtpyurt) https://github.com/whatwg/html/issues/9740 - FormData & submitter[formaction] (by Lcfvs) https://github.com/whatwg/html/issues/9739 - Whatwg/html📡 (by Aghodousi) https://github.com/whatwg/html/issues/9738 - <link rel=preconnect> doesn't support the media attribute (by zcorpan) https://github.com/whatwg/html/issues/9737 [topic: link] [topic: resource hints (inc. preload)] - Allow a `<button>` to behave like an `<area>` (by lukewarlow) https://github.com/whatwg/html/issues/9736 - Add `ToggleEvent`s to `<dialog>.showModal()` (by keithamus) https://github.com/whatwg/html/issues/9733 [addition/proposal] [needs implementer interest] [topic: dialog] [agenda+] - Index (by 420Bubaz) https://github.com/whatwg/html/issues/9731 - StructuredClone of prototype objects (by ADKaster) https://github.com/whatwg/html/issues/9730 - [Cookie Layering] Add a "has cross-site ancestor" bit to pass on to Fetch (by johannhof) https://github.com/whatwg/html/issues/9729 - Use HTML's URL-parser wrapper in EventSource (by domenic) https://github.com/whatwg/html/issues/9728 [clarification] [topic: eventsource] - Q (by Jeffmiau) https://github.com/whatwg/html/issues/9727 43 issues received 112 new comments: - #9749 Modification GIF Folder Preview Script (1 by domenic) https://github.com/whatwg/html/issues/9749 - #9748 Missing links in "Kinds of content" list (2 by annevk, sideshowbarker) https://github.com/whatwg/html/issues/9748 [editorial] - #9742 Make the currentTime setter clamp to duration (2 by foolip, muan) https://github.com/whatwg/html/issues/9742 [topic: media] - #9741 A (1 by Mhtpyurt) https://github.com/whatwg/html/issues/9741 - #9736 Add mechanism for a button-like element to behave like an `<area>` (3 by annevk, domenic, lukewarlow) https://github.com/whatwg/html/issues/9736 [addition/proposal] [needs implementer interest] - #9733 Add `ToggleEvent`s to `<dialog>.showModal()` (3 by domenic, keithamus, lukewarlow) https://github.com/whatwg/html/issues/9733 [addition/proposal] [topic: dialog] - #9730 StructuredClone of prototype objects (5 by ADKaster, bathos, domenic, erights) https://github.com/whatwg/html/issues/9730 - #9728 Use HTML's URL-parser wrapper in EventSource (1 by annevk) https://github.com/whatwg/html/issues/9728 [clarification] [topic: eventsource] - #9726 spec should be clearer about what CORS-same-origin means (7 by annevk, dbaron, noamr, zetafunction) https://github.com/whatwg/html/issues/9726 [clarification] [topic: fetch] - #9725 Define user-agent <details> legend in rendering section (1 by sharma62) https://github.com/whatwg/html/issues/9725 [topic: shadow] [topic: rendering] - #9715 Take encoding into account when parsing link headers & early hints (2 by bashi, domenic) https://github.com/whatwg/html/issues/9715 - #9702 [View Transition] Event on old Document to set transition state (6 by domenic, khushalsagar, noamr) https://github.com/whatwg/html/issues/9702 - #9648 Auto-sizes: fall back to next value in sizes if the image is not lazy-loading (1 by manisha765) https://github.com/whatwg/html/issues/9648 [topic: img] - #9644 Proposal: Allow sites to target navigations at split tabs (1 by sanketj) https://github.com/whatwg/html/issues/9644 [addition/proposal] [needs implementer interest] - #9639 Define :user-invalid / :user-valid for form-associated custom elements (4 by annevk, nt1m, smaug----) https://github.com/whatwg/html/issues/9639 [addition/proposal] [topic: custom elements] [topic: forms] - #9625 [Proposal] Invoker Buttons - allowing popover/dialog and more to be invoked without JS (4 by domenic, lukewarlow) https://github.com/whatwg/html/issues/9625 [addition/proposal] [needs implementer interest] [accessibility] [topic: forms] [topic: events] [topic: dialog] [agenda+] [topic: popover] - #9571 Use inside settings to fetch the descendants of module worker in the worker module script graph (1 by youennf) https://github.com/whatwg/html/issues/9571 [agenda+] - #9496 Improve description of `readonly` attribute (3 by B3rry, annevk) https://github.com/whatwg/html/issues/9496 [clarification] [topic: forms] - #9479 Proposal: Meta Tag for AI Generated Content (14 by Pandapip1, TheRealRitMan, bathos) https://github.com/whatwg/html/issues/9479 [addition/proposal] [needs implementer interest] - #9467 `play()` must not fail here: `HTMLMediaElement.remove(); el.play()` (2 by WofWca, foolip) https://github.com/whatwg/html/issues/9467 [topic: media] - #9381 popover: expect a way to watch all "`toggle`" events even in shadow DOM on `window` (1 by annevk) https://github.com/whatwg/html/issues/9381 [addition/proposal] [topic: popover] - #9373 Add light dismiss functionality to `<dialog>` (4 by domenic, lukewarlow, mfreed7) https://github.com/whatwg/html/issues/9373 [addition/proposal] [needs implementer interest] [topic: dialog] - #9332 [View Transitions] Extend render-blocking to support Document (1 by khushalsagar) https://github.com/whatwg/html/issues/9332 [addition/proposal] [topic: rendering] [agenda+] - #9279 Clarify natural dimensions of HAVE_METADATA video element with no frame available (3 by foolip, jernoble, jyavenard) https://github.com/whatwg/html/issues/9279 [topic: media] [interop] - #9065 Autocomplete on 'contenteditable' Elements (5 by dandclark, johanneswilm, sanketj) https://github.com/whatwg/html/issues/9065 [addition/proposal] [topic: forms] [needs concrete proposal] - #8693 Proposal: Elements for a more semantic web (3 by capjamesg, skwee357, snarfed) https://github.com/whatwg/html/issues/8693 - #8625 Should open `dialog` elements match `:open`? (2 by annevk, josepharhar) https://github.com/whatwg/html/issues/8625 [topic: dialog] [topic: selectors] - #8339 Allow modal dialogs to trap focus, avoiding tabbing to the URL bar (1 by josepharhar) https://github.com/whatwg/html/issues/8339 [normative change] [needs implementer interest] [a11y-tracker] [topic: dialog] - #8216 Remove CanvasRenderingContext2D.scrollPathIntoView (1 by annevk) https://github.com/whatwg/html/issues/8216 [removal/deprecation] [topic: canvas] - #7833 Rendering of "bitmaprenderer"-backed canvas (2 by annevk, kdashg) https://github.com/whatwg/html/issues/7833 [topic: canvas] [interop] - #7540 Allow authors to apply new css features (like cascade layers) while linking stylesheets (3 by annevk, emilio, zcorpan) https://github.com/whatwg/html/issues/7540 [addition/proposal] [needs implementer interest] [topic: style] - #7347 Suggestion: Change <div> in <dl> content rules for styling purposes (1 by annevk) https://github.com/whatwg/html/issues/7347 [document conformance] - #6911 Proposal: blank worker (3 by domenic, lgarron) https://github.com/whatwg/html/issues/6911 [addition/proposal] [needs implementer interest] [topic: workers] - #6140 Directionality of input element whose type attribute is in the Telephone state (2 by annevk, dbaron) https://github.com/whatwg/html/issues/6140 [topic: forms] [i18n-tracker] [interop] [i18n-alreq] [i18n-hlreq] [i18n-afrlreq] - #5886 Event bubbling on disabled form elements (1 by saschanaz) https://github.com/whatwg/html/issues/5886 [topic: forms] [topic: events] [interop] - #5484 Reparenting iframes without reloading (4 by dead-claudia, flackr) https://github.com/whatwg/html/issues/5484 [addition/proposal] [needs implementer interest] - #5326 Programmatically setting focus navigation start point? (3 by muan) https://github.com/whatwg/html/issues/5326 [addition/proposal] [accessibility] [topic: forms] [topic: focus] [topic: editing] - #5033 Consider adding a headinglevelstart attribute (2 by muan, smaug----) https://github.com/whatwg/html/issues/5033 [addition/proposal] [accessibility] - #4500 Clarify that <details open> fires the toggle event even if the open attribute is set from the parser (1 by domenic) https://github.com/whatwg/html/issues/4500 [clarification] - #3296 @whatwg, can you produce a html cheetsheet? (1 by annevk) https://github.com/whatwg/html/issues/3296 [good first issue] - #3164 ImageBitmapRenderingContext: should transferFromImageBitmap update canvas dimensions? (1 by annevk) https://github.com/whatwg/html/issues/3164 [clarification] [topic: canvas] - #2589 How should javascript: navigations interact with CSP? (1 by rojr427) https://github.com/whatwg/html/issues/2589 [topic: navigation] [security/privacy] [topic: javascript: URLs] - #1079 Canvas stroke(): Subpaths of length 0 should render their line caps. (2 by kdashg, yiyix) https://github.com/whatwg/html/issues/1079 [clarification] [topic: canvas] 9 issues closed: - Suggestion: Change <div> in <dl> content rules for styling purposes https://github.com/whatwg/html/issues/7347 [document conformance] - @whatwg, can you produce a html cheetsheet? https://github.com/whatwg/html/issues/3296 [good first issue] - Modification GIF Folder Preview Script https://github.com/whatwg/html/issues/9749 - Site issue resolution is down https://github.com/whatwg/html/issues/9746 - Html entities https://github.com/whatwg/html/issues/9744 - ipa https://github.com/whatwg/html/issues/9745 - <pre>: line number https://github.com/whatwg/html/issues/8369 [addition/proposal] [needs implementer interest] - Index https://github.com/whatwg/html/issues/9731 - StructuredClone of prototype objects https://github.com/whatwg/html/issues/9730 * whatwg/dom (+0/-0/💬5) 2 issues received 5 new comments: - #831 Declarative Shadow DOM (1 by mfreed7) https://github.com/whatwg/dom/issues/831 [topic: shadow] [needs implementer interest] [addition/proposal] - #736 Proposal: a DocumentFragment whose nodes do not get removed once inserted (4 by WebReflection, michTheBrandofficial) https://github.com/whatwg/dom/issues/736 [needs implementer interest] [addition/proposal] Pull requests ------------- * w3c/html-aam (+0/-0/💬2) 1 pull requests received 2 new comments: - #454 Define concept of minimum role (2 by jcsteh, scottaohara) https://github.com/w3c/html-aam/pull/454 * w3c/webcomponents (+1/-0/💬0) 1 pull requests submitted: - Update DOM-Parts (Imperative) to clarify definitions and use cases (by iteriani) https://github.com/WICG/webcomponents/pull/1032 * whatwg/html (+4/-0/💬14) 4 pull requests submitted: - Correct <source> dimension property handling (by annevk) https://github.com/whatwg/html/pull/9752 - Editorial: correct MathML references (by annevk) https://github.com/whatwg/html/pull/9751 - improve workere test.html (by B2-krunalrana) https://github.com/whatwg/html/pull/9747 - Fix an article 'an' to 'a' in FAQ (by ismailarilik) https://github.com/whatwg/html/pull/9734 11 pull requests received 14 new comments: - #9752 Correct <source> dimension property handling (1 by annevk) https://github.com/whatwg/html/pull/9752 - #9734 Fix an article 'an' to 'a' in FAQ (3 by ismailarilik, keithamus) https://github.com/whatwg/html/pull/9734 [editorial] - #9714 feat: adding a beginner-level HTML cheatsheet (1 by annevk) https://github.com/whatwg/html/pull/9714 - #9712 Fix setTimeout() when there's no active script (2 by Lubrsi, hiroshige-g) https://github.com/whatwg/html/pull/9712 [topic: script] - #9689 Change auto directionality of password and button controls (1 by annevk) https://github.com/whatwg/html/pull/9689 [normative change] [i18n-tracker] [needs tests] - #9663 Remove the step "Prune all zero-length line segments from path" in path Tracing (1 by Kaiido) https://github.com/whatwg/html/pull/9663 [normative change] [topic: canvas] - #9400 Add name attribute for grouping details elements into an exclusive accordion (1 by aardrian) https://github.com/whatwg/html/pull/9400 [addition/proposal] [needs implementer interest] - #9360 Add back/forward cache NotRestoredReasons (1 by petervanderbeken) https://github.com/whatwg/html/pull/9360 [addition/proposal] [topic: navigation] [needs tests] - #7658 Import condition (1 by zcorpan) https://github.com/whatwg/html/pull/7658 [topic: link] [topic: style] - #5826 Reference even more baseline concepts in CSS Inline Layout (1 by annevk) https://github.com/whatwg/html/pull/5826 [topic: canvas] [needs tests] - #5465 Add declarative Shadow DOM features (1 by mfreed7) https://github.com/whatwg/html/pull/5465 [do not merge yet] [topic: shadow] [impacts documentation] Repositories tracked by this digest: ----------------------------------- * https://github.com/w3c/html-aam * https://github.com/w3c/html-aria * https://github.com/w3c/html-extensions * https://github.com/w3c/htmlwg * https://github.com/w3c/webcomponents * https://github.com/whatwg/html * https://github.com/whatwg/dom -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Math Working Group, Hello. I would like to share a hyperlink to a new and interesting AI project: Nougat (https://facebookresearch.github.io/nougat/ , https://github.com/facebookresearch/nougat). Nougat: Neural Optical Understanding for Academic Documents (2023) (https://arxiv.org/abs/2308.13418) Lukas Blecher, Guillem Cucurull, Thomas Scialom, Robert Stojnic Scientific knowledge is predominantly stored in books and scientific journals, often in the form of PDFs. However, the PDF format leads to a loss of semantic information, particularly for mathematical expressions. We propose Nougat (Neural Optical Understanding for Academic Documents), a Visual Transformer model that performs an Optical Character Recognition (OCR) task for processing scientific documents into a markup language, and demonstrate the effectiveness of our model on a new dataset of scientific documents. The proposed approach offers a promising solution to enhance the accessibility of scientific knowledge in the digital age, by bridging the gap between human-readable documents and machine-readable text. We release the models and code to accelerate future work on scientific text recognition. Best regards, Adam Sobieski
Is now open: https://github.com/web-platform-tests/interop/issues/new/choose The core group had requested i let them know when it was.
This is a reminder that *you should register for TPAC* to join the meeting this week. It will be held at 8am Pacific, 11am Eastern, 5pm CEST. It lasts 1.5 hours. Think about any ideas you have for the future of Content MathML for MathML 5. Also, we plan to discuss implementation work on MathML 4 (specifically intents). The goal is to find out who is planning to do what, where can we find synergies, and who might want to work together? So if you think you might have a project, try and flush it out so that you can give a short presentation on what you plan to do. Neil
- Neil Soiffer - Louis Maher - Sam Dooley - Cary Supalo - Moritz Schubotz - Bruce Miller - Paul Libbrecht - David Farmer - Deyan Ginev <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-regrets> Regrets - David Carlisle <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-agenda> Agenda <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-1-announcements-updates-progress-reports>1. Announcements/Updates/Progress reports NS: At the ARIA meeting, there will be a discussion on how publishers do not wish to use MathML for inline mathematics. Neil suggests we attend that meeting. ARIA discussion: https://github.com/w3c/publ-a11y/wiki/Accessible-inline-math NS: The meeting will be during the night Pacific Standard Time. NS: The TPAC MathML meeting will take place on Thursday, September 14, 2023, at 8 AM to 9:30 AM PST. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-2-tpac->2. TPAC: <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-a-register-at>a) Register at (https://www.w3.org/2023/09/TPAC/registration.html) (there is a box you can click that says you want a fee waiver -- it is automatic) PL: TPAC registration will reopen on Monday, September 11, 2023. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-b-agenda-for-tpac-still-waiting-for-more-ideas>b) Agenda for TPAC -- still waiting for more ideas From our 9/31/2023 intent meeting minutes: [ NS: Our TPAC meeting is on Thursday, September 14, 2023, for 1.5 hours. We should do something different from our usual meeting schedule to interest people who have not been to our meeting previously. NS is looking for agenda topics. MuS said he has made a lot of progress on his Unicode to MathML converter. He would like to demonstrate his application. MuS said his application is open source and is available for people to use. It is on GitHub and can get intent into MathML. NS: It might be good to have a roundup of new MathML generators. PL: If someone from Apple comes along, then it would be worth clarifying the discussion about the clipboard Uniform Type Identifier specified in MathML3 which, apparently, may be a problem with the current Apple guidelines: public.mathml, public.mathml.presentation and public.mathml.content. NS: I have some things we could discuss during the TPAC meeting. NS: Do we want to plan? We could layout a timeline for next year. NS: There has been a question about MathML 5 and content MathML. NS: A part of our new charter is to start thinking about a roadmap for MathML 5. NS: We would like to know peoples' implementation plans. At some point we are going to CR, and we need to collect implementations. We need to have ways of testing things. NS: We have been asked how content MathML will relate to intent; therefore, discussing content MathML is not out of scope. DM: There is lots of confusion about intent. People project their understanding of content MathML into intent. We should clarify how they are different. ] PL: We can take more time to discuss the major issues such as the topics we are considering today. *ACTION* NS will put up a TPAC agenda. 3. Progress/discussion on core concepts/ <https://w3c.github.io/mathml-docs/intent-core-concepts/> core properties <https://w3c.github.io/mathml-docs/intent-core-properties/> lists NS: filled out more items on this list. a) core concepts of one-letter-symbols (472) <https://github.com/w3c/mathml/issues/472> DG: gave two reasons for including a letter in the core list. First, if it's usually spoken as its underlying concept, meaning you don't say the letter, but you say what it means. He gave the example of when "P" is used to mean probability, then that is a good reason for inclusion in core. NS: The second reason to include things in core if they appear in pre-university STEM education. DG: There is uncertainty on the border between pre and post university education. Are we trying to make core as small, or as big, as possible? NS: Another criteria for inclusion is does the item fit in a group of things we are planning to consider? NS: In physics, if we include amperes, are we considering some units and leaving out others? DF: The names can apply in other situations. The empty set symbol, {}, can be used if it is included in core. If it is in core, we have a concept for it, and it is easy to find. NS: Letters are spoken as letters. If they have another use, then they need an intent, and they need to be in core. NS: Blackboard Bold Z can be used to stand for the set of integers. NS: said that while "e" and "pi" have special meanings, they should not be in core because they always have the same meaning. PL: {} could also mean the empty list. NS: If you call it something else, give it an intent. PL: Are we declining terseness? NS: has added both terse and verbose speech to his core list. NS: He is not sure we are supposed to tell people how they should speak. NS: Proposed resolution: given a set of notations with “analogous meanings”, if there is a significant pronunciation of a notation that is inappropriate for another, then we should separate the intents of these notations. *CONSENSUS:* PL: We agree on the following criteria, things go in core if: - if they appear in pre-university STEM, in a textbook published after year 2000, and/or - the letter has a different pronunciation when read aloud in a formula of the simple letter pronunciation. DG: Sometimes letters work well as properties. NS: When we talk of the pre-university being the core boundary, we are limiting ourselves to textbooks. NS gave his six grade children books which taught advanced concepts like infinity. b) derivatives -- differing notations with similar semantics (473) <https://github.com/w3c/mathml/issues/473> NS: core concepts: how should the multiple forms of differentiation be handled? There are four common notations for differentiation: 1. Leibniz: Dy/dx 2. Lagrange: F prime(x) 3. Euler: DF(x) and 4. Newton: Y with dot above. NS: People pointed out there's yet another way to show differentiation, and that is where you specify as a subscript the variable differentiation to the Euler notation. NS: They are really the same concept with the same verbose definition. NS: What is the concept name? Is there only one concept name? What about higher order derivatives? DC, in the issue comments, came out on the side that there is only the first derivative. DG: Look at division. He gave five examples. The example using a colon did not mean ratio, it is the eastern way to show division. DG: Inventing an intent concept list of "divide-slash", "divide", "divide-fraction", "divide-colon" and "divide-long" seems counterproductive here (reason: it feels ad-hoc, while mixing concepts with notations). At least it is a new kind of convention that we haven't agreed on yet. it feels ad-hoc, while mixing concepts with notations). At least it is a new kind of convention that we haven't agreed on yet. What seems mildly more practical is to anchor the standard concept "divide", and have AT be able to consult the presentation tree, to determine which notation was used. DG: is concerned about the predictability of the list. It is easy to drift into chaos. DG: For these five examples, the shared operation is division. Do we want to compress down to one word (division) or give more information. Perhaps change the intent naming scheme? BM: For the derivatives: it is tempting to go down to a single word, else you have so many words. NS: His worry is that they all represent the same idea so let us have one name for the concepts. This pushes towards the semantics and not the actual speech. We need to hear 1 / 2 or 1 divided two and long division is spoken differently. NS: We speak and write different types of derivatives, and the blind want to hear the differences. NS: Just because they have the same semantics, they should not have the same concept names. DG: We are discussing intent design. We need to say things the way they are heard. We are disambiguating things. How something is written can be relevant to the way it is spoken. BM: We use Newton's ideas and Leibniz's notations. From Moritz Schubotz to Everyone: Dot is often time derivative which is quite handy to differentiate from other derivatives '' BM: Those not informed in this field might need a catalog to see how things are spoken. PL: The blind want the accurate speech. Time derivatives might not be wanted if you have prime. NS: DG suggested we can use hyphenated names or properties to affect the different ways of speaking things. NS: For the spec, we want a naming standard that has rationality to it. DG said that DC approved of the property's method of differentiating speech. You need to come up with a plan on how to separate the notational detail from the concept detail rather than create these hybrid concepts that have both things included in them. NS: Would you speak the colon and slash? PL: Three fifths would be a fraction and never a division. DG: You can say one over two if it is a colon or a division. NS: It is difficult to have a hard and fast rule about how things should be spoken. NS: There are different ways to write derivatives which are spoken differently from time to time. NS: Make sure that core is not special or different than open in a significant way. It's different in that AT needs to know about it and may have specialized rules for reading things as in the division case with a half versus one over 2. DG: Keep core and open consistent. If it is in core, it gets special treatment. We must have tolerance for special treatment in core. Paul's proposal: given a set of “analogous meanings”, if there is a significant pronunciation of a notation that is inappropriate for another, then we should separate the intents of these notations. NS: may add this discussion to the TPAC agenda. DG: We should think about how to make the naming procedure not messy. We want the procedure to be understandable and intuitive. NS: We want predictability. DG: We want the same naming scheme in core and in open. DG: In core, you have the luxury of special treatment. NS: There is a little bit of a difference between the fractions example and the derivative example in that most of those fraction notations not all but most of them involved a symbol, a Unicode symbol, which has kind of a name in a way of being spoken, whereas the derivatives are really notations that are built up and not a single symbol. So, they are two different things and may have different solutions.
On the call today, we discussed issue 473 <https://github.com/w3c/mathml/issues/473> which is about what intent values should be used with differentiation. In it, Deyan brings up division which led to a discussion of ÷ and : for division -- something that led to some surprising differences amongst attendees. After the meeting, Deyan mentioned Cajori's book on the history of math notations and how ÷ actually was originally an alternative to "-" for minus. I read a bit more and on p272, Cajori writes "There are perhaps no symbols which are as completely observant of political boundaries as are ÷ and : as symbols for division. The former belongs to Great Britain, the British dominions, and the United States. The latter belongs to Continental Europe and the Latin-American countries... Such statements would not apply to the symbolisms for the differential and integral calculus, not even for the eighteenth century." I thought perhaps the decimal separator was another instance, so I looked to see what Cajori wrote. His book was published in 1929. He said that in the US, "." came to become the standard after about 1850. Something I never knew is that the centered dot was used by many to mean both multiplication and decimal separator because that meant the decimal separator wouldn't be confused with a punctuation ".". Apparently, that was the case in Great Britain in 1929. And of course, "," was used in other countries. I'm glad to see that the Brits came to their senses since then :-) As always, Cajori is an interesting read for those who want to know something about the history of math notation. It is also a reminder that math notation is an evolving topic. It gives a little comfort to me that if we don't get the naming of intents right, we will be in good company for not getting it right the first time. Neil
The zoom meeting details have changed. It is now a "w3c.zoom.us" link. The regulars in the group should have the updated details in their calendars. For everyone else, the new details can be found on the members-only W3C Math WG calendar <https://www.w3.org/events/meetings/d6f2b73d-34fc-4276-b164-bdc62a675dcc/20230713T130000/>. Agenda 1. Announcements/Updates/Progress reports 2. TPAC: a) Register at https://www.w3.org/2023/09/TPAC/registration.html (there is a box you can click that says you want a fee waiver -- it is automatic) b) Agenda for TPAC -- still waiting for more ideas 3. Progress/discussion on core concepts <https://w3c.github.io/mathml-docs/intent-core-concepts/>/core properties <https://w3c.github.io/mathml-docs/intent-core-properties/> lists a) core concepts of one-letter-symbols (472) <https://github.com/w3c/mathml/issues/472> b) derivatives -- differing notations with similar semantics (473) <https://github.com/w3c/mathml/issues/473>
Attendees: - Neil Soiffer - Louis Maher - David Carlisle - Dennis Müller - Bruce Miller - David Farmer - Paul Libbrecht - Murray Sargent - Deyan Ginev - Bert Bos <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-regrets> Regrets <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-agenda> Agenda <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-1-announcements-updates-progress-reports>1. Announcements/Updates/Progress reports NS: There is a call for TPAC breakout sessions. This can be an opportunity to meet with other groups on specific issues. This meeting would be separate from our September 14, 2023, meeting. The group decided not to schedule an additional meeting. NS: said that DG found areas where units conflicted. Does "C" mean Celsius or Coulomb? NS: said that DG once proposed compass directions to be units. In this case, would "s" mean south or seconds. DG: The conclusion was if we want to have any sort of predictable usability of the core properties such as coulomb unit, you will have to say what goes in there from a presentational MathML perspective. So, you would require documentation for the guessing of the properties if they're to be usable. DC: Discussed the Unicode document he is working on. This documents says what the various Unicode characters mean. DC is the editor of this document. DC: is also working on a project that can convert LaTeX files into tagged pdf files. Eventually these tagged pdf files can store their math in MathML. Adobe is paying for most of this work. BB: About the new charter: the call for review <https://www.w3.org/mid/e58a8cb6-6d3c-6ee2-6f3a-3354b3d25da5@w3.org> was sent to the W3C members (visible to members only). BB: asked us to have our organizations vote for the charter. The W3C wants to see interest in W3C projects, and having W3C members vote for charters is how this interest is shown. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-2-agenda-for-tpac->2. Agenda for TPAC? Our TPAC meeting is on Thursday, September 14, 2023, for 1.5 hours. We should do something different from our usual meeting schedule to interest people who have not been to our meeting previously. NS is looking for agenda topics. MuS said he has made a lot of progress on his Unicode to MathML converter. He would like to demonstrate his application. MuS said his application is open source and is available for people to use. It is on GitHub and can get intent into MathML. NS: It might be good to have a roundup of new MathML generators. PL: If someone from Apple comes along, then it would be worth clarifying the discussion about the clipboard Uniform Type Identifier specified in MathML3 which, apparently, may be a problem with the current Apple guidelines: public.mathml, public.mathml.presentation and public.mathml.content. *ACTION* NS said that he could ask James Craig to stop by. PL: I do not know if he will be there. *ACTION* NS said: PL, if you know Apple representatives, you should ask them to attend our meeting. NS: I have some things we could discuss during the TPAC meeting. NS: Do we want to plan? We could layout a timeline for next year. NS: There has been a question about MathML 5 and content MathML. NS: A part of our new charter is to start thinking about a roadmap for MathML 5. NS: We would like to know peoples' implementation plans. At some point we are going to CR, and we need to collect implementations. We need to have ways of testing things. DC: We are not making rapid progress with MathML 4. Talking about MathML 5 and content MathML is premature. NS: We have been asked how content MathML will relate to intent; therefore, discussing content MathML is not out of scope. DM: There is lots of confusion about intent. People project their understanding of content MathML into intent. We should clarify how they are different. NS: needs an TPAC meeting agenda by the end of our next meeting. *ACTION* We should send NS any agenda items we might have. DG brought up issue 47 <https://github.com/w3c/mathml/issues/47> which is to decide what to do with Content MathML. In that issue, MoS discussed the relationship between content MathML and intent. DG said the issue should be closed. <https://sandbox.cryptpad.info/code/inner.html?ver=5.4.1#cp-md-0-3-progress-discussion-on-core-concepts-properties-lists>3. Progress/discussion on core concepts/properties lists NS: was the only one who worked on PL's core concept list <https://polx.github.io/mathml-docs/intent-core-concepts/>. NS: I took Paul's list and changed the names on several things so that they fit the naming conventions that we have. NS also changed some of the properties to be what he thought would be correct. NS: had some questions about PL's list. NS discussed "inverse" which is postfix. Does it need to be a core concept? PL: Instead of seeing exponent minus one, it's useful to see inverse. NS: From high school, NS remembers -1 being a procedure and not a concept. DF: So, you want it to be called function inverse, because that's the concept. NS: It's a bit like the trig functions. Sine squared does not mean applying the sine function twice. NS: Perhaps it should be called inverse function or function inverse. PL: I tried to stick to the content name, so that's the reason I called it inverse. PL: The reciprocal is not the inverse. NS: The names are by our naming convention. They should be defaultable so that if the AT doesn't do anything it's still reasonable. NS: In this case, saying inverse and making it post-fixed, would give you "f" inverse. Consensus: The resolution is to make it post fix. NS: next discussed "piecewise". NS: Piecewise is really kind of like a property on a table where we have systems of equations. NS: It'd be a property on an Mrow. It is not a concept name. DC: Because if you make it the intent concept, you'd have to give it arguments for each piece. That's the problem we have with all these things where you would duplicate the entire expression into the intent. NS: piecewise gets turned into a property. NS next considered max and min. We do not have a method to say we have an unlimited number of arguments. NS suggested putting "*" in the arity column to indicate an unlimited number of arguments. *ACTION* NS should put absolute value for 'ABS". NS: In complex numbers, we have the real part and the imaginary part. What do we call the "phase angle" of the complex number? NS: In content MathML, it is called "arg". DG: Wikipedia says it is the "arg" applied to something. DF: I understand the principle that we want these things to be self-pronouncing if AT doesn't know about them, but Let's not go overboard. From Deyan Ginev to Everyone: "arg" notation documented here: ( https://en.wikipedia.org/wiki/Argument_(complex_analysis) DF: I think we should error on the side of it being clear what the meaning is. And that's more important than it being self-pronouncing. NS: We go with "complex arg". NS: There's the concept name "SINE". We agreed last time that is how we want to manage trig functions. NS: The one I wanted to particularly bring out was "arc-sine" DC: Why the hyphen? NS: Just because I thought we tended to hyphenate things that were really 2 words So when you write arc-sine, Sometimes you write it as one word, sometimes you write it as 2 words. MuS: In German, you would never put a hyphen in there. NS: Shall we go with one word and no hyphen? MuS: Yes. That is how Wikipedia does it. NS: Next considered constants and sets. NS: In PL's list were: E, I, pi, true, and false. NS: Infinity was also in PL's list. NS: was dubious about infinity because its meaning is a little less defined than constants like E and I… NS: asked, Do we really need these things in core? NS: wanted to remove all the constants. DC: We have thousands of other symbols we could name. DC: You could use the top and bottom symbol, or you could use true or false in your expression. MuS: Let me just bring up the subject of differential Because if you're speaking a whole formula, you would just call it D. But if you're going through character by character, you really should say differential D, if it is that. DC: I would not mind losing true, false, or infinity. Well, Pi is a bit different. NS: The top and bottom symbols do not appear in K-12 material. *ACTION* PL will open an issue about single letter core concepts. Should we keep them? DG convinced NS that they needed to be in the core concept list. NS: Well, so arctan might be arctan in another language, or you might say arctangent. NS: will continue to work on the list. NS: I have a fork. PL: Can you merge it and continue in main so that people can see it? NS: Yes. NS wants others to work on the core list because it is large. NS: The property list is the hard part. NS: But what are the properties for the constants? NS: Well, it's going to default to something. It defaults to function. I kind of feel like we missed something. DC: There may be no default property. NS: We should see what the spec says about that. NS: I didn't have a property that I could put down for complex numbers. NS: Maybe we need to add a literal, which we used to call hints.
In working on the core concepts list, I ran into a problem of what to do about derivatives. I created an issue for this <https://github.com/w3c/mathml/issues/473> and would appreciate comments on the issue. Thanks, Neil
[View this event in your browser](https://www.w3.org/events/meetings/5cd06086-6005-4533-8da4-1423fc9f5323/) Math WG Upcoming Confirmed =========================== 14 September 2023, 17:00 -18:30 Europe/Madrid Bambu, Low Level [ Math Working Group ](https://www.w3.org/groups/wg/math/calendar/) Joining Instructions -------------------- Instructions are restricted to meeting participants. You need to [ log in](https://auth.w3.org/?url=https%3A%2F%2Fwww.w3.org%2Fevents%2Fmeetings%2F5cd06086-6005-4533-8da4-1423fc9f5323%2F) to see them. Participants ------------ ### Groups - [Math Working Group](https://www.w3.org/groups/wg/math/) ([View Calendar](https://www.w3.org/groups/wg/math/calendar/)) ### Invitees - Michael Wilson Report feedback and issues on [ GitHub](https://github.com/w3c/calendar "W3C Calendar GitHub repository").
[View this event in your browser](https://www.w3.org/events/meetings/5cd06086-6005-4533-8da4-1423fc9f5323/) Math WG Upcoming Confirmed =========================== 14 September 2023, 17:00 -18:30 Europe/Madrid Bambu, Low Level [ Math Working Group ](https://www.w3.org/groups/wg/math/calendar/) Joining Instructions -------------------- Instructions are restricted to meeting participants. You need to [ log in](https://auth.w3.org/?url=https%3A%2F%2Fwww.w3.org%2Fevents%2Fmeetings%2F5cd06086-6005-4533-8da4-1423fc9f5323%2F) to see them. Participants ------------ ### Groups - [Math Working Group](https://www.w3.org/groups/wg/math/) ([View Calendar](https://www.w3.org/groups/wg/math/calendar/)) ### Invitees - Michael Wilson Report feedback and issues on [ GitHub](https://github.com/w3c/calendar "W3C Calendar GitHub repository").
At the meeting today, we discussed whether to use "arcsine" or "arc-sine" as the concept name. I just tried three difference speech synthesizers on: arcsine arc-sine arctangent arc-tangent The hyphenated and non-hyphenated versions read the same in all three synthesizers. These were common synthesizers on Windows used by NVDA and JAWS. If AT doesn't have a special rule for "arcsine", etc., they will still read ok, which is good to know. Neil
The zoom meeting details have changed. It is now a "w3c.zoom.us" link. The regulars in the group should have the updated details in their calendars. For everyone else, the new details can be found on the members-only W3C Math WG calendar <https://www.w3.org/events/meetings/d6f2b73d-34fc-4276-b164-bdc62a675dcc/20230713T130000/>. Agenda 1. Announcements/Updates/Progress reports 2. Agenda for TPAC? 3. Progress/discussion on core concepts/properties lists
Hello, I'd like to mention a few changes that I've been agreed on for a while, but that are likely to affect the rendering in web browsers. If you are maintaining an authoring tool for MathML, please take them into account. 1. The following names for length values have been removed, they should be replaced with equivalent em values: veryverythinmathspace => 0.05555555555555555em verythinmathspace => 0.1111111111111111em thinmathspace => 0.16666666666666666em mediummathspace => 0.2222222222222222em thickmathspace => 0.2777777777777778em verythickmathspace => 0.3333333333333333em veryverythickmathspace => 0.3888888888888889em They have never been supported in Chromium, have been removed from some WebKit ports and are currently triggering deprecation warnings in Firefox. 2. The mathvariant attribute has essentially been removed, it should be replaced with direct use of Mathematical Alphanumeric Symbols for example: <mi mathvariant="fratur">A</mi> => <mi>0#x1D504;</mi> <style mathvariant="double-struck"><mi>A</mi><mo>+</mo><mn>1</mn></mstyle> => <mrow><mi>𝔸</mi><mo>+</mo><mn>𝟙</mn></mrow> ('+' does not have any double-struck form so is unchanged) The only exception is for mathvariant="normal" on the <mi> element in order to cancel automatic italicization: <mi mathvariant="normal">A</mi> The legacy cases have never been supported in Chromium and will trigger deprecation warnings in Firefox 117. The plan is to try and do the same in WebKit. 3. The binary operator U+2223 DIVIDES is no longer stretchy by default. Note that the entity name ∣ maps to this character and, probably due to this confusing name, some people have incorrectly use it as stretchy infix/postfix fences, where | U+007C would be more appropriate. <mrow><mo>∣</mo><mfrac><mn>2</mn><mn>3</mn></mfrac><mo>∣</mo></mrow> => <mrow><mo>|</mo><mfrac><mn>2</mn><mn>3</mn></mfrac><mo>|</mo></mrow> (if you means stretchy fences) <mrow><mn>2</mn><mo>∣</mo><mn>4</mn></mrow> => <mrow><mn>2</mn><mo stretchy="true">∣</mo><mn>4</mn></mrow> (if you really means to make the "divides" operator stretchy). The operator is not stretchy in Chromium or WebKit. The plan is to try and do the same in Firefox. -- Frédéric Wang
Issues ------ * w3c/html-aria (+1/-4/💬0) 1 issues created: - Add mention of role=image (by scottaohara) https://github.com/w3c/html-aria/issues/481 [Clarification needed] 4 issues closed: - Allow gridcell and treeitem roles on button elements https://github.com/w3c/html-aria/issues/298 [Allowed roles] - Allow gridcell and treeitem roles on button elements https://github.com/w3c/html-aria/issues/298 [Allowed roles] - Inconsistent allowed roles for "button" elements https://github.com/w3c/html-aria/issues/395 [Allowed roles] [Clarification needed] [Inconsistency] - Update: Allow role=slider on button and input type=button elements https://github.com/w3c/html-aria/issues/444 [Allowed roles] * whatwg/html (+13/-8/💬90) 13 issues created: - Add nonce as a Content attribute for <link> (by evilpie) https://github.com/whatwg/html/issues/9505 - Data brokerage bugs (by Simulate39) https://github.com/whatwg/html/issues/9504 - Broken MathML links (by lauch788) https://github.com/whatwg/html/issues/9502 - WezerJr (by wezerjr) https://github.com/whatwg/html/issues/9501 - Introduce scopes to openers (by SoniEx2) https://github.com/whatwg/html/issues/9500 - fetch client settings object isn't used in `fetch the descendants of and link a module script` (by allstarschh) https://github.com/whatwg/html/issues/9499 - Correct description of `readonly` attribute (or mutability) (by aaronadamsCA) https://github.com/whatwg/html/issues/9496 - . (by ahmedturjo365) https://github.com/whatwg/html/issues/9495 - "context = canvas.getContext('2d' [, { [ alpha: ..." (by hntoitx) https://github.com/whatwg/html/issues/9492 - Allow self-closing tags everywhere (by jakearchibald) https://github.com/whatwg/html/issues/9491 - Add VideoPlaybackQuality and HTMLVideoElement»getVideoPlaybackQuality() (by sideshowbarker) https://github.com/whatwg/html/issues/9489 [addition/proposal] [topic: media] - Should #fallback-base-url and #navigate use "matches" about:blank? (by domfarolino) https://github.com/whatwg/html/issues/9488 [topic: navigation] - Showing only a child popover causes "beforetoggle" and "toggle" events but popover is invisble (by mbrodesser-Igalia) https://github.com/whatwg/html/issues/9487 [topic: popover] 20 issues received 90 new comments: - #9505 Add nonce as a Content attribute for <link> (1 by evilpie) https://github.com/whatwg/html/issues/9505 - #9502 Broken MathML links (13 by Boszmullar, annevk, davidcarlisle, jshtuazon2, lauch788) https://github.com/whatwg/html/issues/9502 [integration] - #9500 Introduce scopes to openers (2 by SoniEx2, domenic) https://github.com/whatwg/html/issues/9500 - #9496 Correct description of `readonly` attribute (or mutability) (2 by aaronadamsCA, annevk) https://github.com/whatwg/html/issues/9496 [clarification] [topic: forms] - #9492 "context = canvas.getContext('2d' [, { [ alpha: ..." (1 by hntoitx) https://github.com/whatwg/html/issues/9492 - #9491 Allow self-closing tags everywhere (32 by WebReflection, bogger33, cunlic, jakearchibald, keithamus, sideshowbarker, zcorpan, zealvurte) https://github.com/whatwg/html/issues/9491 [addition/proposal] [needs implementer interest] [topic: parser] [needs compat analysis] - #9487 Showing only a child popover causes "beforetoggle" and "toggle" events but popover is invisble (3 by josepharhar, mbrodesser-Igalia) https://github.com/whatwg/html/issues/9487 [topic: popover] - #9474 Upcoming HTML standard issue triage meeting on 7/13/2023 (2 by 3shool, past) https://github.com/whatwg/html/issues/9474 [agenda+] - #9469 Specify a maximal depth of backtracking for the pattern attribute on input elements (4 by annevk, mathiasbynens, schuay, vinhill) https://github.com/whatwg/html/issues/9469 [topic: forms] [integration] - #9468 Should step 7 of https://html.spec.whatwg.org/#hide-popover-algorithm be a while loop? (3 by cathiechen, josepharhar) https://github.com/whatwg/html/issues/9468 [topic: popover] - #9459 When atrribute value changes, do we run hiding popover algorithm regardless? (2 by josepharhar, mbrodesser-Igalia) https://github.com/whatwg/html/issues/9459 [topic: popover] - #9448 auto-sizes concrete object size ignoring natural dimensions is not implementable (10 by eeeps, emilio, johannesodland, zcorpan) https://github.com/whatwg/html/issues/9448 [topic: img] - #9225 Dirname should work with more input types (2 by annevk, zcorpan) https://github.com/whatwg/html/issues/9225 [addition/proposal] [needs implementer interest] [topic: forms] [i18n-tracker] - #9158 Consider a different process for standardizing registerProtocolHandler schemes (1 by zcorpan) https://github.com/whatwg/html/issues/9158 [meta] [topic: custom protocols] - #9112 Standardize rendering of PQ and HLG HDR image content (1 by ccameron-chromium) https://github.com/whatwg/html/issues/9112 - #9030 History length/index are not synchronously initialized in new navigables (2 by domfarolino, hsivonen) https://github.com/whatwg/html/issues/9030 [topic: navigation] [topic: history] - #8789 HTML cross-document encoding inheritance with bogus Content-Type charset (1 by hsivonen) https://github.com/whatwg/html/issues/8789 [topic: parser] [interop] - #7732 Consider preventing page scroll when modal dialog is visible (1 by matatk) https://github.com/whatwg/html/issues/7732 [topic: rendering] [accessibility] [a11y-tracker] [topic: dialog] - #6235 Escape "<" and ">" in attributes (4 by securityMB, zcorpan) https://github.com/whatwg/html/issues/6235 [normative change] [topic: parser] [security/privacy] [needs compat analysis] [security-tracker] - #3518 Proposal: HTML passwordrules attribute (3 by dead-claudia, zcorpan) https://github.com/whatwg/html/issues/3518 [addition/proposal] [needs implementer interest] [document conformance] [security/privacy] [topic: forms] 8 issues closed: - Data brokerage bugs https://github.com/whatwg/html/issues/9504 - Broken MathML links https://github.com/whatwg/html/issues/9502 [integration] - Introduce scopes to openers https://github.com/whatwg/html/issues/9500 - WezerJr https://github.com/whatwg/html/issues/9501 - . https://github.com/whatwg/html/issues/9495 - Allow self-closing tags everywhere https://github.com/whatwg/html/issues/9491 [addition/proposal] [needs implementer interest] [topic: parser] [needs compat analysis] - "context = canvas.getContext('2d' [, { [ alpha: ..." https://github.com/whatwg/html/issues/9492 - import() should use referring script's base URL as the referrer https://github.com/whatwg/html/issues/3744 [normative change] [topic: script] * whatwg/dom (+1/-0/💬5) 1 issues created: - Variable strength aborting (by bojavou) https://github.com/whatwg/dom/issues/1215 4 issues received 5 new comments: - #1215 Variable strength aborting (1 by keithamus) https://github.com/whatwg/dom/issues/1215 - #1214 another version of `Element.prototype.contains` that considers slotted elements as children (1 by canalun) https://github.com/whatwg/dom/issues/1214 - #1195 Userland AbortSignal (2 by benjamingr, bojavou) https://github.com/whatwg/dom/issues/1195 [topic: aborting] - #1082 Timeout AbortSignal (or AbortController) that gets input from the operation (1 by bojavou) https://github.com/whatwg/dom/issues/1082 [topic: aborting] Pull requests ------------- * w3c/html-aria (+4/-2/💬1) 4 pull requests submitted: - docs: remove unneeded hyphen (by j9t) https://github.com/w3c/html-aria/pull/480 - docs: remove superfluous/confusing semicolon (by j9t) https://github.com/w3c/html-aria/pull/479 - docs: remove superfluous/confusing comma (by j9t) https://github.com/w3c/html-aria/pull/478 - docs: add missing “’s” (by j9t) https://github.com/w3c/html-aria/pull/477 1 pull requests received 1 new comments: - #455 add allowed role for aside element (1 by scottaohara) https://github.com/w3c/html-aria/pull/455 [Allowed roles] [needs implementation commitment] [needs changelog entry] 2 pull requests merged: - add allowed role for aside element https://github.com/w3c/html-aria/pull/455 [Allowed roles] [needs implementation commitment] [needs changelog entry] - Update button and input button allowances https://github.com/w3c/html-aria/pull/446 [Allowed roles] [Meets 2 implementations req] * whatwg/html (+8/-2/💬32) 8 pull requests submitted: - Editorial: Use the right "active document" definition in a focus algorithm (by rakuco) https://github.com/whatwg/html/pull/9498 - Populate document state origin/initiator origin upon creation (by domfarolino) https://github.com/whatwg/html/pull/9494 [topic: navigation] - Force size containment for auto-sizes (by zcorpan) https://github.com/whatwg/html/pull/9493 - Make dirname apply to hidden/tel/url/email inputs (by zcorpan) https://github.com/whatwg/html/pull/9490 - Use appropriate fetch destination for JSON&CSS modules (by nicolo-ribaudo) https://github.com/whatwg/html/pull/9486 - Test PR (by cijian23) https://github.com/whatwg/html/pull/9485 - Fix links to fetch request initiator type (by nicolo-ribaudo) https://github.com/whatwg/html/pull/9484 - Editorial: fix popover attribute index entries (by domenic) https://github.com/whatwg/html/pull/9483 14 pull requests received 32 new comments: - #9490 Make dirname apply to hidden/tel/url/email inputs (1 by vinhill) https://github.com/whatwg/html/pull/9490 - #9481 Set popover invoker immediately after changing popover's visibility state to "showing" (3 by annevk, josepharhar, mbrodesser-Igalia) https://github.com/whatwg/html/pull/9481 [topic: popover] - #9464 Snapshot fallback base URL for about:-schemed Documents (5 by domenic, domfarolino, wjmaclean) https://github.com/whatwg/html/pull/9464 [normative change] [topic: navigation] - #9457 Ignore DOM state when hiding popovers if needed (2 by annevk, josepharhar) https://github.com/whatwg/html/pull/9457 - #9456 add dialogmodaltarget attribute (2 by annevk, keithamus) https://github.com/whatwg/html/pull/9456 - #9430 Clarify the fake token step in fragment parsing (2 by annevk, hsivonen) https://github.com/whatwg/html/pull/9430 - #9407 Propagate fetch referrer in dynamic imports (2 by domenic, nicolo-ribaudo) https://github.com/whatwg/html/pull/9407 [normative change] [topic: script] - #9400 Add name attribute for grouping details elements into an exclusive accordion (2 by dbaron, domenic) https://github.com/whatwg/html/pull/9400 [addition/proposal] [needs implementer interest] - #9360 Add back/forward cache NotRestoredReasons (1 by rubberyuzu) https://github.com/whatwg/html/pull/9360 - #9309 Ignore dangling markup in target name (1 by shhnjk) https://github.com/whatwg/html/pull/9309 - #9210 Use module referrer policy for descendant fetches (2 by domfarolino) https://github.com/whatwg/html/pull/9210 [do not merge yet] [topic: script] - #9142 Don't throw when popover/dialog is in requested state (7 by annevk, josepharhar, mbrodesser-Igalia, nt1m) https://github.com/whatwg/html/pull/9142 [needs tests] [topic: dialog] [topic: popover] - #5826 Reference even more baseline concepts in CSS Inline Layout (1 by fserb) https://github.com/whatwg/html/pull/5826 [topic: canvas] [needs tests] - #4606 Add disallowdocumentaccess iframe attribute to force a creation of a new agent cluster map (1 by annevk) https://github.com/whatwg/html/pull/4606 2 pull requests merged: - Fix links to fetch request initiator type https://github.com/whatwg/html/pull/9484 - Propagate fetch referrer in dynamic imports https://github.com/whatwg/html/pull/9407 [normative change] [topic: script] Repositories tracked by this digest: ----------------------------------- * https://github.com/w3c/html-aam * https://github.com/w3c/html-aria * https://github.com/w3c/html-extensions * https://github.com/w3c/htmlwg * https://github.com/w3c/webcomponents * https://github.com/whatwg/html * https://github.com/whatwg/dom -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Planet MathML features:
If you own a blog with a focus on MathML, and want to be added or removed from this aggregator, please get in touch with Bert Bos at bert@w3.org.