Preface | Motivation
HTML|> is a usable standard for presentation and interaction, especially on mobile devices|>. Recent web browsers|> support accessible|>Accessibilty hypertext|> with stylesheets|>CSS and numerous JavaScript|> Web APIs|m>Web/API to multimedia|> (camera|>digital camera, Audio|>Digital audio), clipboard|>clipboard (computing), GPS|> and sensors|>.
Nevertheless, simple HTML documents are rarely rendered ergonomically by default.
- touchable or even clickable areas too small
- user preferred color-scheme|m>Web/CSS/color-scheme ignored
- no "table of contents" navigation, derived from the structuring HTML Section Heading elements|m>Web/HTML/Element/Heading_Elements
- no equitable counterpart of the vertically scrolling view, but text lines get too long
- user input and navigation limited and a bit cumbersome
So there is good reason for numerous web frameworks and authoring tools that help building powerful web applications and sites. Is there a good choice for creating just a little hypertext and small programs?
A cautious wish list
- Easy integration into editing environments / small toolchain|>
- Adjustment of touch-target sizes
- Split long HTML documents into separate scrollable "panels"
- Automatic elements
- Document title / top heading
h1: use meta data - Top menu: navigation, orientation, theme and fullscreen
- Navigation: table of contents
- Lazy reference links to common sources like Wikipedia|> or MDN|>MDN Web Docs
- HTML/CSS validators (even to generated content)
- Document title / top heading
-
Small programs need
- a little console
- simple source code documentation tool
- enhanced input elements
- Good print style
- A multi-column view mode with horizontal snap to column and fast page scroll steps (number of visible columns minus one)
Conclusion: vanilla software|>
The basic materials are DOM|>Document Object Model, CSS|>Cascading Style Sheets and JavaScript|>, as delivered by the most common browsers|>Webbrowser: the scratch to build from.
See: Tags|m>Web/HTML/Element, events|m>Web/API/EventTarget/addEventListener, identifiers|h>named-access-on-the-window-object, loading|h>delay-the-load-event, hashChange|h>the-hashchangeevent-interface