Planet MathML

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.

Latest articles

Weekly github digest (HTML specs)

Source: public-html Mail Archives • W3C Webmaster via GitHub API (sysbot+gh@w3.org) • October 02, 2023 • Permalink

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

Reminder: MathML meeting on Thursday

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 28, 2023 • Permalink

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/>

WebKit Features in Safari 17.0

Source: WebKit • September 27, 2023 • Permalink

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.

word cloud of all the features in Safari 17.0, which are all described in this article

HTML

The new search element

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.

Popover

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:

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().

Horizontal rules inside select elements

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> 

CSS

Font size adjust

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.

Slide from WWDC23, showing where on various letters and characters the measurements ex-height, cap-height, ch-width, ic-width, and ic-height apply.Learn more about how `font-size-adjust` works by watching What’s New in CSS from WWDC23.

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.

Text transform

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.

Font support testing

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);
}

Hyphenation

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.

Counter styles

Safari 17.0 adds support for @counter-style.

a slide from WWDC23 of a Counter Styles example, where the code creates a list with emoji smiley faces as the list markers. Learn more about how CSS Counters and Counter Styles work by watching What’s New in CSS from WWDC23.

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; 
}

Display contents

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:

Safari 17.0 also fixes accessibility issues with HTML tables and table components that have display: flex, grid, block, or inline-block applied.

Media Queries

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.

Image set

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")
  );
}

Container Queries

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.

And more CSS

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.

JavaScript and Web API

Storage

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.

Offscreen Canvas

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.

Canvas

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().

RegEx

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.

Set Operations

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.

Gamepad API

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);
}

URL API

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&currency=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");
}

Web Sockets

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').

And more JavaScript and Web API

Images and video

JPEG XL

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.

HEIC

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.

AV1

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?”

Managed Media Source

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.

Media player stats overlay

Video in a video player, with an overlay showing the stats for that video.

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.

And more video and audio

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.

Web apps on Mac

Safari 17.0 for macOS Sonoma is now available. And with it, web apps come to Mac.

A web app for WebKit Blog shown on macOS Sonoma. With three other web apps as Stage Manager windows off to the side. And four web app icons in the doc. Plus a push notification coming in from the WebKit web app.

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 from Safari View Controller

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.

Web Developer Tools

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.

Redesigned Develop Menu

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.

the new Safari 17 Develop menu, with far fewer items, showing icons for iPhone and iPad

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.

Rethought Feature Flags

the Safari feature flag settings window with a list of technologies, some on, others off.

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.

New Developer settings panel

the new Safari Developer settings window, listing what can be toggled

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.

New tab-specific setting overlay

Web Inspector tab-specific settings overlay

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.

Redesigned Responsive Web Design Mode

Redesigned Responsive Design Mode in Safari with configurable viewport size, scale, and simulator menu

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.

Simulators

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.

macOS Sonoma with a simulated iPhone on screen, showing a website. The Develop menu is open, with the user selecting the website in that simulator.

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.

Web Inspector

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:

Learn more by watching What’s new in Web Inspector at WWDC23.

Security

GPU Process

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.

WebKit API

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.

Browser changes

Safari Profiles

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.

Safari Private Browsing

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:

Editing and Live Text

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.

Apple Pay via Payment Request API

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.

Authentication

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.

Networking

Safari 17.0 adds support for HTTP Early Hints and preconnect.

Lockdown mode

Lockdown mode now:

Lockdown Mode is also now supported in WebKit on watchOS.

Safari Extensions

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.

Bug Fixes and more

In addition to the over 65 new features, WebKit for Safari 17.0 includes an incredible amount work polishing existing features.

Accessibility

Canvas

CSS

DOM

Editing

Forms

HTML

HTTP

JavaScript

Media

Rendering

Safari Extensions

Storage

SVG

Tables

Web Animations

Web API

Web apps

Web Inspector

WebGL

WebRTC

Feedback

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.

Cancelling Monday's core meeting

Source: www-math Mail Archives • Brian Kardell (bkardell@gmail.com) • September 22, 2023 • Permalink

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!

No MathML Full meeting this week

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 20, 2023 • Permalink

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

Minutes: MathML TPAC meeting, 14 Sept, 2023

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 19, 2023 • Permalink

 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.

Weekly github digest (HTML specs)

Source: public-html Mail Archives • W3C Webmaster via GitHub API (sysbot+gh@w3.org) • September 18, 2023 • Permalink

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

Nougat: Neural Optical Understanding for Academic Documents

Source: www-math Mail Archives • Adam Sobieski (adamsobieski@hotmail.com) • September 18, 2023 • Permalink

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

Interop 2024

Source: www-math Mail Archives • Brian Kardell (bkardell@gmail.com) • September 16, 2023 • Permalink

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.

Reminder: TPAC meeting, not regular meeting

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 12, 2023 • Permalink

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

Minutes: MathML Full meeting, 7 Sept, 2023

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 12, 2023 • Permalink

   - 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.

÷ vs :

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 07, 2023 • Permalink

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

Reminder: MathML Full meeting on Thursday

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 07, 2023 • Permalink

 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>

Minutes: MathML Full meeting, 31 Aug, 2023

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 05, 2023 • Permalink

 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.

core concepts: how should the multiple forms of differentiation be handled?

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • September 01, 2023 • Permalink

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

Event Invitation: Math WG

Source: www-math Mail Archives • Zhenjie Li (W3C Calendar) (noreply+calendar@w3.org) • September 01, 2023 • Permalink

[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").

Attachments

FYI: arcsine, etc

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • August 31, 2023 • Permalink

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

Reminder: MathML Full meeting on Thursday

Source: www-math Mail Archives • Neil Soiffer (soiffer@alum.mit.edu) • August 31, 2023 • Permalink

 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

A few changes between MathML3 and MathML Core you may want to take into account

Source: public-mathml4 Mail Archives • Frédéric Wang (fwang@igalia.com) • July 28, 2023 • Permalink

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>&#x1D538;</mi><mo>+</mo><mn>&#x1D7D9;</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 &VerticalBar; 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>&VerticalBar;</mo><mfrac><mn>2</mn><mn>3</mn></mfrac><mo>&VerticalBar;</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>&VerticalBar;</mo><mn>4</mn></mrow> => 
<mrow><mn>2</mn><mo stretchy="true">&VerticalBar;</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
        

Weekly github digest (HTML specs)

Source: public-html Mail Archives • W3C Webmaster via GitHub API (sysbot+gh@w3.org) • July 10, 2023 • Permalink

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

Feeds

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.

(feed)This page as an Atom feed

A mechanical calculation machine (with an added W3C logo)

Bert Bos, math activity lead
Copyright © 2008–2016 W3C®

Powered by Planet