Files
eepp/docs/articles/README.md
T
Martín Lucas Golini 4baa4ae4b1 Split accessibility backends, fix CI regressions and document architecture
CI fixes for the previous commit:
- Windows: announce one BoundsChanged on the window root when the scene
  resizes, so UIA raises LayoutInvalidated again. Widgets still do not
  report their own bounds changes.
- macOS: collapse identical pending notifications per element within one
  update, so one text selection change posts a single
  AXSelectedTextChanged. Created/Destroyed keep every occurrence, in order.
- MinGW: link the UIA test harness with -municode and uuid, which fixes
  the nightly MinGW build.

Backends:
- Split the AT-SPI backend into a private header plus connection, events,
  tree/marshalling and method files. Break the 600-line D-Bus dispatcher
  into one handler per interface.
- Split the UIA backend into a private header plus core, element provider
  and text range files.
- Share hasState/hasAction in accessibilitybackend.hpp instead of three
  per-backend copies.

CI and docs:
- Run test_atspi.py --multi-window on Linux: closing a secondary window
  while an AT-SPI client stays connected.
- Add docs/articles/uiaccessibilityarchitecture.md (layer map, files,
  invariants, per-backend layout, common tasks, test matrix) and link it
  from the articles index and the accessibility guide.
- Add a unit test for the single layout notification on scene resize.
2026-10-09 01:02:11 -03:00

23 lines
2.3 KiB
Markdown

# eepp articles
Use this page to find the guide for the task you are doing. The articles explain eepp's
supported behavior; class headers and current source code remain the reference for API details.
| Task | Start here | Follow up with |
| --- | --- | --- |
| Build a first UI with XML and CSS | [UI introduction](ui_introduction.md) | [Application UI authoring](ui_authoring.md) |
| Create or change an application screen | [Application UI authoring](ui_authoring.md) | [Native layout reference](ui_layout_reference.md), [CSS for application UI](ui_css_for_applications.md) |
| Look up a CSS property, selector, or value | [CSS specification](css_specification.md) | [CSS for application UI](ui_css_for_applications.md) when styling native widgets |
| Render HTML or Markdown content | [HTML compatibility layer](ui_html_compatibility.md) | [CSS specification](css_specification.md) for supported properties and values |
| Preview and edit native XML/CSS layouts | [UI editor](ui_editor.md) | [Application UI authoring](ui_authoring.md), [Runtime UI inspector](ui_inspector.md) |
| Inspect or automate a running UI | [Runtime UI inspector](ui_inspector.md) | [Application UI authoring](ui_authoring.md) for a layout debugging workflow |
| Bind application data or commands to widgets | [UI data binding](ui_databinding.md) | [Application UI authoring](ui_authoring.md) for screen structure |
| Make native widgets accessible | [UI accessibility](uiaccessibility.md) | [Application UI authoring](ui_authoring.md) for screen structure |
| Work on the accessibility implementation | [UI accessibility architecture](uiaccessibilityarchitecture.md) | [UI accessibility](uiaccessibility.md) for the application-facing behavior |
| Add an interactive chart | [UI charts](ui_charts.md) | [Application UI authoring](ui_authoring.md) for placement and sizing |
| Work on `eterm` Kitty support | [Keyboard protocol](eterm_kitty_keyboard.md), [graphics protocol](eterm_kitty_graphics.md) | The corresponding `src/modules/eterm/` implementation and tests |
Native application widgets and HTML documents have different layout behavior. Start with
[application UI authoring](ui_authoring.md) for toolbars, dialogs, forms, and editor windows;
start with [HTML compatibility](ui_html_compatibility.md) for `UIWebView` and `UIMarkdownView`.