pub struct Sem {
pub id: u32,
pub kind: u16,
pub state: u16,
pub rect: [i32; 4],
pub label: Option<String>,
pub value: i32,
pub max: i32,
pub min: i32,
pub layer: u8,
pub depth: u8,
pub win: u8,
pub ax: Option<Box<SemAx>>,
}Expand description
semantic record (dump / expect) [SR_*]
Fields§
§id: u32§kind: u16§state: u16SS_*
rect: [i32; 4]x, y, w, h physical px
label: Option<String>§value: i32§max: i32§min: i32the lower end of a slider’s range (accessibility)
layer: u8§depth: u8§win: u8window index (0 = the main window)
ax: Option<Box<SemAx>>what the record says beyond kind, label and value (its own 64-bit id, a parent, a description, cells, states …): set through the record’s setters (id64, parent, desc …; section 19 of the guide); None for the records of the built-in widgets
Implementations§
Source§impl Sem
The setters of a record’s further accessibility data (Sem::ax, section 19 of the guide):
each returns the record, so they chain after sem / sem_rect. A web page’s tree:
impl Sem
The setters of a record’s further accessibility data (Sem::ax, section 19 of the guide):
each returns the record, so they chain after sem / sem_rect. A web page’s tree:
ui.sem_rect(K_CELL, 0, r, Some("12,50 €"), 0).id64(node).parent(row).cell(2, 1);Sourcepub fn id64(&mut self, id: u64) -> &mut Sem
pub fn id64(&mut self, id: u64) -> &mut Sem
Its own 64-bit id (below 2^62; a web page’s node id). The node keeps it from frame to
frame, other records name it as their parent, and every request of a screen reader for it
comes back to the app (ui.a11y_request_take) instead of going to a widget.
Sourcepub fn parent(&mut self, id: u64) -> &mut Sem
pub fn parent(&mut self, id: u64) -> &mut Sem
The record it hangs under: the one with this id64 (else this widget id) in the same frame and window – the tree follows it, not the rectangles. A parent that is left out (a box without a label) passes it on to its own parent; an unknown one leaves it to its rectangle.
Sourcepub fn name(&mut self, name: &str) -> &mut Sem
pub fn name(&mut self, name: &str) -> &mut Sem
Its name when the label is something else: a text box’s or drop-down’s label is its text,
so .name("Suche") names it.
Sourcepub fn desc(&mut self, text: &str) -> &mut Sem
pub fn desc(&mut self, text: &str) -> &mut Sem
A description beside the name (a hint; a page’s aria-describedby).
Sourcepub fn value_text(&mut self, text: &str) -> &mut Sem
pub fn value_text(&mut self, text: &str) -> &mut Sem
The text a screen reader says for a slider’s, meter’s or spin button’s value (“Montag”).
Sourcepub fn states(&mut self, states: u32) -> &mut Sem
pub fn states(&mut self, states: u32) -> &mut Sem
Further states (AS_*: required, invalid, busy, has a popup, visited, modal,
multi-select, collapsed, off screen, focusable, clickable, selectable, read-only,
multi-line, password), added to those it has.
Sourcepub fn set_pos(&mut self, pos: u32, size: u32) -> &mut Sem
pub fn set_pos(&mut self, pos: u32, size: u32) -> &mut Sem
Its position in its set (1-based) and the set’s size: list and tree items, tabs, rows.
Sourcepub fn level(&mut self, level: u32) -> &mut Sem
pub fn level(&mut self, level: u32) -> &mut Sem
The level of a heading (1 ..= 9, in place of the value), a tree item, list item or row (1 the top).
Sourcepub fn cell(&mut self, row: u32, col: u32) -> &mut Sem
pub fn cell(&mut self, row: u32, col: u32) -> &mut Sem
A cell’s or header’s place in its table: row, column (0-based).
Sourcepub fn span(&mut self, rows: u32, cols: u32) -> &mut Sem
pub fn span(&mut self, rows: u32, cols: u32) -> &mut Sem
The rows and columns a cell spans (1, 1 without).
Sourcepub fn grid(&mut self, rows: u32, cols: u32) -> &mut Sem
pub fn grid(&mut self, rows: u32, cols: u32) -> &mut Sem
A table’s number of rows and columns (without: counted from its cells).
Sourcepub fn live(&mut self, live: u32) -> &mut Sem
pub fn live(&mut self, live: u32) -> &mut Sem
How it speaks as a live region: LIVE_POLITE, LIVE_ASSERTIVE, LIVE_OFF (0: as its kind
says – K_ALERT assertive, K_STATUS and K_LOG polite).