Contact emailsdba...@chromium.org

Explainerhttps://open-ui.org/components/accordion.explainer
https://github.com/dbaron/details-styling

SpecificationNone

Summary

This is a set of work to enable better platform support for the accordion
widget <https://open-ui.org/components/accordion.research> pattern, and
particularly exclusive accordions, using HTML <details> elements. As we see
it right now (and this could certainly change) this work appears to consist
of three parts: the ability to link multiple details elements
<https://open-ui.org/components/accordion.explainer> together to
semantically be an accordion (possibly with some small changes to keyboard
behavior and/or accessibility roles, but likely not), improvements to
stylability of details elements <https://github.com/dbaron/details-styling>
(particularly around styling/replacing the marker and having more
flexibility to lay out the parts), and improvements to the accessibility of
<details>/<summary> (particularly related to problems of interactive
content inside of the <summary>).


This work is still at an early stage, and the process of working out what
specific features will be part of this work is still happening. That
process will involve discussions (some already started) in appropriate
venues, starting with the Open UI community group <https://open-ui.org/>.


Blink componentBlink>HTML>Details
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EHTML%3EDetails>

Motivation

Developers regularly use accordions on the Web. Today, that generally means
that they build their own widget rather than using a widget provided by the
platform, either because there is no widget for exclusive accordions, or
because the existing widget for disclosures and non-exclusive accordions
does not meet their needs (most likely due to stylability). This proposal
is suggesting that we add features for exclusive accordions and better
stylability of <details> to the platform. Doing so would help users because
it would make (or at least would enable making) the user experience more
consistent, and generally better, in a number of areas: * keyboard
shortcuts and focus handling, * exposure via ARIA to assistive technology,
and * integration with browser features such as find-in-page. Reducing the
need for developers to build their own widgets should also reduce the size
of pages that use such widgets, which reduces the time and bandwidth needed
for users to load those pages.


Initial public proposalhttps://github.com/openui/open-ui/issues/725

TAG review

TAG review statusNot yet requested.  I intend to do so after the ideas are
a bit more concrete.

Risks


Interoperability and Compatibility

There's some interoperability and compatibility risk around changes to
<details> styling. Currently details styling is not interoperable as there
are two different approaches, one taken by Gecko and (current) Chromium,
and another taken by WebKit (which was previously shared with Chromium). I
plan to consider interoperability and compatibility when deciding what
approaches to improving <details> styling are viable.


*Gecko*: No signal.  (See "Tag review status" above.)

*WebKit*: No signal  (See "Tag review status" above.)

*Web developers*: No signals

*Other signals*:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?

not yet sure, mainly because approach to <details> styling is not yet
determined


Debuggability

Too early to tell for sure, though probably mostly similar to existing
debugging of CSS.  It's possible UI to find the elements in a group would
be useful (as it might be for radio inputs).

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?No, but I intend to add tests as it is developed.

Flag name

Requires code in //chrome?False

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6710427028815872

Links to previous Intent discussions

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAG0MU3hf4-mESHH3k%2B%3DpkHr4%3DS6jfxJhKY%3D3Est%2BHc7%2BqUdMdQ%40mail.gmail.com.

Reply via email to