WICG / proposals

A home for well-formed proposed incubations for the web platform. All proposals welcome.
https://wicg.io/
Other
233 stars 16 forks source link

Split Container Element / Property #171

Open t-wy opened 2 months ago

t-wy commented 2 months ago

Introduction / Existing Alternate Approaches

Since the frameset tag was deprecated long ago, an element that comes with a splitter does not seem to exist, not to mention frameset is supposed to work with multiple web pages.

Many implementations and alternatives exist in the browser. Without scripting, the most similar CSS property should be resize, which creates a resize handle at the bottom right to allow resizing, but this does not fully provide the convenience of having a splitter. With scripts involved, many implementations, and modules exist. However, inconsistent behaviors from mouse cursor (default, move, resize, etc.), touchscreen support, to even bugs (overflowing by dragging out of the container) exist among different popular implementations. Due to the wide use of such items, and the increasing importance of responsive design, an element with basic functionalities and customizable properties should have existed without the need to load a large bundle of extra codes.

As frameset is still supported in many browsers, a similar interface and implementation already exists in many browser engines, which does infer that expected behaviors of splitters can stick with how frameset works. Also, the Developer Tool when not undocked also works like a split container in existence. Furthermore, controls like a Split Container are also commonly seen in Native Forms even in OS's file explorers, which strongly indicates that panel-splitting should be a basic feature.

Use Cases / Examples

Goals

A frameset-like container-splitting feature can be implemented without scripting.

Proposed Solution

Privacy & Security Considerations

If a dimension-unspecified container's initial size is relative to its elements, webpages with customizable stylesheets may allow users to leak information by checking whether contents overflow.

No considerable privacy or security concerns are expected, but we welcome community feedback.

Let’s Discuss