Event Based Design Since Node.js was introduced to the market, the web space has enjoyed more scalable and responsive systems, due to Node’s event driven architecture, where every system is loosely coupled to one another, where asynchronous programming, events and messages govern the program flow, therefore making traditional performance bottlenecks like disk i/o, database access and others nearly insignificant, since access to such resources is properly managed and interested parties are n...| odilia.app
As of afew days ago, we decided we played enough with the tools and components of the linux accessibility stack to be able to say that we aren’t so ignorant anymore, we know at least the basics about how it all fits together, how our screenreaders read information from a linux gui app, how the gui toolkit and atspi work together to provide the required context for such tools to operate. Since I don’t want to bore you with code snippets, git logs, conversations from who knows how much time...| Home on Odilia Screen Reader
We know it has been a long time, however we are delighted to inform you that the first Odilia prototype is up on GitHub, with a very early alpha stage build for anyone curious enough to try it out. If you want to try it out, the link is here: https://github.com/yggdrasil-sr/yggdrasil-prototype/releases/ the screen reader can’t do much at the moment, however this is what it can do so far like any normal screen reader, it can read most components exposed by the Linux accessibility interface, ...| odilia.app
Components Screen readers are complex applications that need to interact with many different systems and technologies, and Odilia is no different. For this reason, the project is split into several crates: Odilia – The main application This is the toplevel binary crate, which glues all the smaller crates together. It also handles logging and other application-wide tasks. atspi – Accessibility Interface This crate communicates with the Assistive Technology Service Provider Interface, which...| odilia.app
AT-SPI General overview, with several links Accessible Document Navigation Using AT-SPI API documentation Examples, including Javascript, C and Python Examples exclusively using py-atspi2, the human-generated bindings, not the ones generated via GObject Introspection Odilia’s atspi crate Speech libspeech library documentation Speech Synthesis Interface Protocol (SSIP) API documentation Speech Synthesis Markup Language (SSML) Version 1.1 Raw FFI Rust bindings to libspeech Idiomatic Rust bind...| odilia.app
The Odilia dev team regularly hangs out in our Matrix space: #odilia-screen-reader:matrix.org. Whether you have plans to contribute, want to follow along with development, or just want some fellow nerds to chat to, come join us! We also bridge this space to discord, and you can get in touch with the developers directly if you wish. Contributing There are many ways you can contribute to Odilia. If you’re a developer, send us a pull-request.| odilia.app