theoretical basis and the discovery of free
technologies that were used in the project.
To facilitate the functionalists of sharing,
conversion and export between the interfaces, the
JSON format was chosen as the data structure for the
diagrams. This format is fast, flexible, easy for
humans to read, can be manipulated in the server
and in the client, and has simple serializable
mechanisms (Nurseitov et. al., 2017).
The prototyping model aims for fast
development, allowing the team to review the
process multiple times, which minimizes the risks of
developing a product that does not meet the real
needs (Sommerville, 2011).
The software has only been tested by the project
team. Following the Brazilian laws about scientific
research’s tests with humans, the present
development phase involves acquire the necessary
permissions for usability tests with real users.
3.2 Characteristics
The Der-Acessível requires a registration to be
acessed. But even as an anonymous user, the visitor
can change the color theme and the font-size,
navigate with the keyboard, and receive the
assistance of the integrated screen-reader.
There are many different themes available, most
of them from Bootswatch (2014). The themes can
change the colors and the typograph used in the
website. Also, the user can chose between five
different font sizes. This options affects all pages,
with the exception of the drawing area of the
graphical interface. This feature is very important,
speciall. More important than the aesthetic aspect,
these characteristics are accessibility features for
people with low vision.
After providing an email and password in the
registration form, the user can create his diagrams
using the graphical or textual interfaces. After that,
he can convert an ERD to the relational and physical
models, or send a copy of it to another user, by
providing the receiver’s email. Sharing a diagram
simple creates a copy that cannot be modify. The
owner can revogue the sharing and the receiver can
copy the diagram to his own library, so he can edit
it.
3.2.1 Integrated Screen-Reader
Using time diaries to collect data from users, Lazar
et al (2007) states the three most commons causes of
frustration to screen reader users are: page layout
causing confusing screen reader feedback, conflict
between screen reader and application, poorly
designed/unlabeled form.
To avoid this problems and also provide an
equally acessible enviroment to any user connect to
the website, an integrated screen-reader was
designed using the Speech Synthesis (W3C, 2014).
This API (Application Programming Interface)
provides an simple, but limited, way to convert text
in audio played direct by the browser. It was
necessary to develop a controller to watch the size of
the messages sended to the API (Application
Programming Interface), manage the queue of
requests generated by the user navigation and take
over the flow of the played audios.
When the user changes the navigation focus, the
controller will read the element content or the
alternative text for it, provided with a custom
attribute, slice in to small messages and add to it’s
own queue to be sended to the API. Depending on
the situation, the queue can be broken, and the new
message is instantly played.
For input fields, the integrated screen-reader will
read every typed key and, if the user stops typing for
a few seconds, the last typed word.
3.2.2 Keyboard Navigation
A script using JQuery (2017) controls the keyboard
navigation in the page. It was design to work in two
differente ways: basic navigation, for almost every
page in the app, and limited navigation, for the
textual interface. In basic navigation, it watches the
Tab key and move the focus based on a predefined
path. This way, the user will navigate first trough the
content. The arrow keys are free and will follow the
default behavior provided by the browser.
In the limited navigation, the keyboard is
“locked” to a specific area in the page. Inside the
textual interface, it is useful to provide fast cycle
through the interface options, without allowing the
user to get lost in other elements that exists in the
page. For this mode, the user can navigate with the
arrow keys and press Tab to go back to the
beginning. This functionality is better described in
the section 3.2.4.
3.2.3 Graphical Interface
Using the JointJS (2017) core library, distributed
under the Open Source Mozilla Public License, the
graphical interface allows users to create an ERD
using the mouse, through a familiar environment
that follows the pattern existing in other software.
As seen in Figure 1, there is an element’s toolbar on
the left, buttons with general options at the top, and
Web Application for Model, Share and Conversion of Entity-relationship Diagrams for Person Visually Impaired
407