I recently came across the Browsh project (https://www.brow.sh/) and thought it might be relevant. I have no idea how friendly the current implementation is to screen readers but it might be a good starting point or at least interesting for reference. The maintainer of the project might be willing to accept contributions to add a mode that is better for screen readers. Caveat, it is written in Go, not Rust.
Joel Martin On Sun, Sep 2, 2018 at 1:46 PM Aura Kelloniemi <kaura....@sange.fi> wrote: > > Dear Servo developers, > > I am a blind person who is very frustrated about the current situation of WWW > accessibility. Until now I have been using traditional text web browsers > (elinks, etc.). This road is coming to an end because these browsers do not > support Javascript (or DOM events). I won't start using firefox with orca > (GNOME project's screen reader), because it is absolutely slow and > inconvenient. > > So I had an idea of writing my own very simple console web browser which would > use an existing browser engine to run the DOM events. (See below to know which > alternatives I've looked at). > > I would like to run servo's script component (and other components that are > absolutely compulsory) to retrieve and parse documents, and run javascript on > the DOM. > > I would like then to develop a simple rendering engine which would at first > provide a REPL-like environment for querying page information, and maybe later > write a basic terminal layout engine, if it seems like a feasible project. > > I am not new to Rust, but I don't have a lot of experience in working with > such a big software projects as servo (and projects which have such a limited > amount of documentation). > > So I want to ask you: what would be the steps I would need to do in order to > achieve my goals. > > In detail: > - What are the components of servo that I need to run? > - How would I go about achieving that? > > I will try to do my best to be self sufficient and understand the architecture > of servo, but at least for now trying to grasp the meaning of all servo's > components feels like a daunting task. > > In ideal world I would like to avoid running any graphical rendering, because > its results are not of any use for me. > > The other alternatives that I have looked at are: > 1. PhantomJS - project development has ceased and I really don't want to write > a big application in Javascript anyway. > 2. PyQt5WebKit: Module deprecated > 3. Haskell WebKitGtk: Haskell bindings have not been developed for a long time > and as far as I understand I can't run it without X (xvfb feels like waste of > resources). > 4. WebDriver: It does not give me good access to the DOM - it really has not > been designed for this kind of usage. > > Thank you in advance for any response! > > -- > Aura > _______________________________________________ > dev-servo mailing list > dev-servo@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-servo _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo