AUIML
Jump to navigation
Jump to search
Application User Interface Markup Language, or AUIML, is a replacement for HTML+CSS+JavaScript that is designed from the ground up to support a user experience equivalent to that of desktop GUI or specialized mobile "apps", while also supporting HTML's built-in ability to display rich text and media and preserving the URL concept for addressing content.
see also: IOML
Concepts
- Any given URL delivers a Document.
- A Document contains one or more Views, equivalent to media type in CSS
- <view [input] window=scroll/page>
- attributes:
- [input]: if present, the view accepts input (keyboard, mouse, touchscreen, media); if not, it is read-only (like a printout or slide)
- window=scroll indicates that the view scrolls within the Document
- window=page indicates that the view must be divided into fixed-size pages
- <area> - a rectangular region within a Window
- <layer> - stacked renderings within an Area
- <widget type=... event=...>: display widget
- type=... values:
- type=text: displays text; can react to clicks or selections
- type=image: displays an image; can react to clicks, drags
- event=... values:
- click events (sends both click and unclick events):
- event=click.l - left-click
- event=click.r - right-click
- event=click.m - middle-click
- event=drag - drag with whatever button was clicked
- event=drop - something was dropped onto the widget (there's data)
- keyboard events:
- event=key.press - any key (not necessarily a character) pressed (also sends release)
- event=key.change - a keypress caused a change in the text contents
- click events (sends both click and unclick events):
- type=... values:
- <widget type=... event=...>: display widget
- <layer> - stacked renderings within an Area
- attributes:
- <view [input] window=scroll/page>
Notes:
- To simplify constructing simple pages:
- a Document is also an Area, so if you want to use the whole Document as an Area, you don't need an <area> tag
- an Area is also a Layer, so if you only need one Layer you don't need to also define a <layer> tag