[dev-servo] Browsing with Servo without eyesight

2018-09-02 Thread Aura Kelloniemi
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


Re: [dev-servo] Browsing with Servo without eyesight

2018-09-02 Thread Joel Martin
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  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