What are the big unmet user needs of the web platform?
Content in Issues.
What are the big unmet user needs of the web platform?
What are the big unmet user needs of the web platform?
Content in Issues.
Currently, SVG images 1 are not allowed to link to any other resources, even when these resources are same origin, which severely cripples them across several areas.
This is probably the biggest issue today.
SVG images cannot reference any web fonts, so any text is limited to system fonts. This is now even more restrictive than in the past, as Apple has excluded user-installed fonts from font matching, which restricts SVG images to preinstalled system fonts.
In practice, authors result in the following workarounds, both with severe downsides for end-users:
<path>
. Sometimes there is textual fallback, but usually not.Both of these workarounds are wasteful wrt bandwidth, which is particularly harmful to users in developing countries, and the first creates a serious accessibility issue. The 2nd workaround privileges languages with certain scripts more than others (e.g. East Asian fonts tend to be way too large for 2 to be viable).
<use>
element so simple variations, such as a different color (e.g. a dark mode version), a modifier (e.g. a + icon at the bottom right) duplicate the entire graphic.At the very least, linking to resources in the same origin should be safe, and already solves a swath of use cases. Ideally there should also be an opt-in of some sort for external ones, so that use cases like downloading diagrams can just work. Hopefully CORS can be reused, so we don’t have to introduce yet another mechanism.
Specifically for fonts, another solution could be to bring SVG fonts back, and redesign them around the use case of making converting text to outlines less problematic (which is essentially what PDF does, I think?). It is far more palatable to convert glyphs to outlines once rather than every time the glyph is used, and it completely resolves the accessibility issues. This may be worth it on its own, to make it possible to create self-contained SVG images with custom fonts.
Meaning SVG files used in image contexts, such as CSS images, or HTML’s <img>
element. ↩
(An earlier version of this was posted in whatwg/html#10143)
Many HTML attributes need to reference one or more HTML elements in the document. This includes:
for
, in <label>
and <output>
list
in <input>
aria-describedby
, aria-labelledby
, aria-activedescendant
, aria-controls
, aria-details
, aria-flowto
, aria-owns
etc.)popovertarget
)invoketarget
)anchor
attributeCurrently, the only way to specify such references is to give these elements ids (if they don't already have them) and use these ids to link to them in these attributes.
This is problematic in several ways:
This is a very common author pain point around ARIA, and authors are pretty vocal about it: DX-related complaints were the 3rd biggest a11y complaint in the preliminary State of HTML results. It especially hurts a11y, since the effects of broken references in the a11y tree are not always obvious, and the more effort it takes to make HTML accessible, the less likely authors are to do it. While for <label>
this is somewhat mitigated by the option to make the association implicitly by nesting the form control within the <label>
, for the other cases there is no similar option. New features like popovers, invokers, or the anchor
attribute exacerbate the problem further.
The IDL attributes for these are also inconsistent:
element.htmlFor
returns a string, corresponding to the textual value of the for
attribute. The actual element can be accessed via element.control
.element.list
returns the actual <datalist>
element linked. The string value is only accessible via getAttribute()
.popoverTargetElement
returns the element popovertarget
corresponds to. The string value is only accessible via getAttribute()
.ariaDescribedByElements
returns the elements aria-describedby
corresponds to (and similar for other ARIA attributes). The string value is only accessible via getAttribute()
.part
.Some considerations are:
list
need both (e.g. a "country" field would need to autocomplete to the same list of countries everywhere).A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.