ACCESSIBLE - Applications Design and Development

Disability Impairment Approximation Simulator (DIAS)

Developed by CERTH/ITI

Introduction & Information details for the DIAS Tool

The ACCESSIBLE developer/designer-aid module, namely Disability Impairment Approximation Simulator (DIAS), is the one responsible for supporting target users (developers and/or designers) to facilitate the design and development of accessible Java Swing software applications. It approximately simulates the difficulties someone with specific vision, motor, cognitive and hearing impairments face, when interacting with Java Swing Graphical User Interfaces (GUIs) as well as Java ME applications. It communicates with the standalone application module or the NetBeans IDE depending on whether the user is using the standalone or the NetBeans plugin version of the developer/designer-aid module. The purpose of ACCESSIBLE simulator is to assist developers and designers to better empathise with those who have reduced capabilities, and to help understand how capability loss affects the ability to interact with software applications and services. The module has been designed and developed for the following objectives:

  • a developer-designer aid module for assistance to complete user centered design and accessibility simulation of how a Java Swing application can be viewed for users with impairments
  • a Self-learning software, which can be obtained as a NetBean IDE plugin and/or as a standalone application, in order to present accessibility drawbacks and visual content problems of Java Swing applications

Thus DIAS is actually available in two versions, one standalone and one that is used as a NetBeans plugin. The version that can be used as a plugin on NetBeans, has two main functionalities. One that enables the developers/designers to preview their implemented GUI applications in a simulated fashion and also alerts them for any accessibility errors/warning the application may have. The developer/designer module is then able to provide appropriate recommendations for resolving any of these identified errors/warnings. On the other hand, the DIAS "Run plugin" gives the developers/designers the ability to execute and run in real time their Java Swing applications and verify if the supported functionalities and components contain any accessibility constraint.

Owner/Main Developer (including also key partners contribution)

CERTH/ITI, Oracle

Intelectual property Rights (IPR issues, Licences)

MIT licence

Nature of the Code

Open source, integrated also under NetBeans IDE

Published Papers

  • Oikonomou, T., Votis, K., Tzovaras, D., Korn, P. An Open Source Tool for Simulating a Variety of Vision Impairments in Developing Swing Applications. in Stephanidis, C ed. Addressing Diversity in Universal Access in Human-Computer Interaction, Springer Berlin / Heidelberg, 2009, 135-144.
  • Oikonomou, T., Votis, K., Korn, P., Tzovaras, D., Likothanasis, S., Holzinger, A. and Miesenberger, K. A Standalone Vision Impairments Simulator for Java Swing Applications. in Holzinger, A. and Miesenberger, K. (Eds.) HCI and Usability for e-Inclusion, Springer Berlin / Heidelberg, 2009, 387-398.
  • Oikonomou, T., Votis, K., Korn, P. and Tzovaras, D. Simulating vision impairments for Java/Swing developers using the NetBeans IDE, In 25th Annual International Technology & Persons with Disabilities Conference, (San Diego, USA, 2010).
  • Oikonomou, T., Votis, K., Tzovaras, D. and Korn, P. An Approximation Simulator for Designing and Developing Accessible Java Swing Applications, In Free and Open Source Software for Accessible Mainstream Applications (FOSS-AMA), collocated with ETAPS (European Joint Conferences on Theory and Practice of Software), (Paphos, Cyprus, 2010).
  • Oikonomou, T., Votis, K., Tzovaras, D., and Korn, P. 2010. Designing and developing accessible java swing applications. In Proceedings of the 12th international conference on Computers helping people with special needs: Part I, ICCHP, (Vienna, Austria, 2010), Miesenberger, K., Klaus, J., Zagler, W., and Karshmer, A. (Eds.). Springer-Verlag, Berlin, Heidelberg, 186-188.
  • Oikonomou, T., Kontotasiou, D., and Tzovaras, D. Providing An IDE For Creating, Simulating And Assessing Accessible Applications, In 2nd International AEGIS Conference, (Brussels, Belgium, 2011).
  • Votis, K., Oikonomou, T., Korn, P., Tzovaras, D. and Likothanassis, S. 2009. A visual impaired simulator to achieve embedded accessibility designs. In Proceedings of the IEEE International Conference on Intelligent Computing and Intelligent Systems 2009, ICIS, (Shanghai, China, 2009), 368-372.
  • Giakoumis, D., Kaklanis, N., Votis, K., Tzovaras, D. Enabling user interface developers to experience accessibility limitations through visual, hearing, cognitive and physical impairment simulation. Universal Access in the Information Society, Springer Berlin / Heidelberg. Accepted for publication 2012.

Strengths and Weaknesses

Strengths Weaknesses
  • An open source developer-designer aid module for assistance to complete user centered design and accessibility simulation of how a Java Swing application, a Java mobile and a Web application can be viewed for users with impairments
  • A Self-learning software, which can be obtained as a NetBean IDE plugin and/or as a standalone application, in order to present accessibility drawbacks and visual content problems of Mobile, Web and Java Swing applications
  • To assist developers and designers to better empathise with those who have reduced capabilities, and to help understand how capability loss affects the ability to interact with software applications and services
  • To offer a "preview" and a "Run" simulation functionality that gives the developers/designers the ability to execute and run in real time their applications and verify if the supported functionalities and components contain any accessibility constraint
  • A Help Tab is providing additional information about the simulated disabilities
  • A Magnifier to each simulation is being supported
  • Interoperable with an integrated Webkit browser within NetBeans IDE
  • Integrated with AEGIS and ACCESSIBLE personas
  • To train developers in accessibility and usability issues
  • To provide evidence of the accessibility and usability for designers and developers
  • Flexibility to integrate other disabilities, impairments and/or personas
  • Only integrated in NetBeans IDE
  • A non accessible interface for people with disabilities
  • Missing of an integrated Web browser to the standalone version of the tool
  • Non supporting of the Apple iOS
  • Only the NVDA screen reader is being integrated to the DIAS tool

Contribution to the state of the art

During the recent years, a large number of attempts have been made, towards facilitating developers to understand accessibility limitations of their work through the simulation of impairments. In order to have a better view of accessibility needs, developers can use such simulation tools, so as to experience a software application (e.g. Web page) using simulated disabilities. It is obvious that simulation tools cannot simulate all kinds of disabilities and cannot provide the exact impact they have. However, they certainly provide useful information and can thus help designers make the content of a UI more accessible. These tools can thus enable, encourage, and assist developers in the creation of accessible applications.

An open-source effort, enabling authors to increase the accessibility of their applications, is the NetBeans Accessibility Testing Utilities, known as the NetBeans accessibility module. This is distributed as a separate NetBeans module, which can be installed to the NetBeans Integrated Development Environment (IDE). The Java Accessibility Helper (provided by the installation NetBeans accessibility module) aids Java software developers in making their JFC - based programs accessible to persons with disabilities. The Helper generates reports that include a prioritized list of problems and potential problems with the application being tested.

On the visual impairments simulators side, work has already explored accessibility of Web applications, taking also into account assistive devices. The aDesigner is a disability simulator that helps Web designers to ensure that their pages are accessible and usable by the visually impaired. Web developers can use aDesigner in order to test the accessibility and usability of Web pages for low-vision and blind people.

The aDesigner is mostly oriented in testing the degree of colour contrast on the page, the ability of users to change the font size and the existence of alternate text for images. ColorDoctor is a simulator that can check color accessibility. It converts any images displayed on the screen, such as websites and other presentation contents, into gray scale or colors that can be perceived by people with color blindness. ColorDoctor not only simulates website display, it is also possible to simulate real-time display of proposals, presentations, and moving images such as Flash by selecting the ”Transparent” mode. ColorDoctor shows the display content through four conversion filters: Grayscale, Protanopia, Deuteranopia and Tritanopia.

Furthermore, the Visual Impairment Simulator (VIS) for Microsoft Windows is another tool that simulates the user’s PC desktop. When the program runs, it manipulates the images on the user’s screen, so that it seems like the user has a visual impairment. Users can choose which impairment they wish to simulate from a drop down menu. The impairments that can be simulated are: Cataract, Color Blindness, Diabetic Retinopathy, Glaucoma, Hyperopia, Macular Degeneration, Magnifier and Retinitis Pigmetosa. The Vischeck tool was created, in order to help web developers check their work for color blind visibility. Also the WebAIM Low Vision Simulator provides users with the opportunity to experience a web page as a user with visual disabilities. As it can be discerned, users can see the specified web page as if they suffered from Macular Degeneration, Cataract or Glaucoma.

Finally Cambridge University has developed a vision and hearing impairment simulator, within the Inclusive Design Toolkit.

The vision simulator modifies a digital image to show what the image might look like when viewed with a variety of different vision conditions. Each condition can be applied with different severity levels.

Moreover, in The disability simulator: Simulating the influences of disabilities on the usability of graphical user interfaces (page 109-118), a tool for the simulation of the influences of disabilities on the usability of GUIs was presented. Built on the basis of the Java language, that tool incorporates visual and movement filters, allowing it to simulate impairments like hyperopia, complete colour blindness and agitated paralysis, either on their own or in combination. These filters are applied over the presentation of a PC screen, thus providing simulations over HCI with applications presented through it. An impairment simulation tool was also used in Evaluating interface layout for visually impaired and mobility-impaired users through simulation, towards evaluating digital TV interfaces.

Trying to advance the state of art in impairment simulation systems, we have developed the DIAS, which integrates filters that enable visual, hearing and physical impairment simulation over HCI through Java, mobile and web applications. These filters have been developed after thorough literature research, through which basic symptoms and more specific parameters over the covered impairments’ symptoms were obtained. The translation of these parameters into realistic filters was further facilitated through experts, who provided evaluation over the filters, during the development phase. In general, our work aims to provide developers with a practical solution that could be easily adopted and utilized during the applications’ development phase. In this respect, our developed tool can be used free of charge. Moreover, two versions of the tool have been developed, a standalone one and a NetBeans plug-in suite. The former version follows the rationale of the typical, afore-described state of art systems, which are provided as standalone applications. On the other hand, the DIAS NetBeans plug-in suite can integrate the tool’s functionality within a development environment, commonly used for building Java - based applications. This way, the possibilities of impairment simulation to be practically embedded in the GUI development life-cycle, significantly increase.

Technical Testing Results from the developer and beneficiary validation

DIAS tool has been tested in pilot tests with developers and beneficiaries and several important usability issues occurred. In the following table we outline the most important issues that were identified during the testing, and how they were addressed for the improvement of the tool.

Issue description Priority Solved Solution / Explanation
Being dyslexic does not just affect reading and writing but also language. Only radio buttons were given and not checkboxes, while combinations exist. 1 YES Radio buttons have been replaced with checkboxes. DIAS can now simulate also combinations of the different dyslexia symptoms.
Colour adjustment for colour blindness, size of components for Parkinson's disease. 1 YES The filters used for colour blindness have been further examined and updated as necessary. During Parkinson simulation, DIAS identifies components whose size should be increased and the user is provided with details of this by pressing on the problematic (marked with red colour) elements.
Colour by Colour Blindness (Deuteranopia) is false. (Test by SuperSnake.jar) 1 YES The updated version of DIAS has now the correct Deuteranopia simulation.
Delay of the simulation; non-realistic simulations 1 YES The updated version of DIAS has new filters that deliver more realistic and fast simulations.
Dyslexia --> small words 1 YES "Confusing small words" simulation is supported and working fine in the updated version of DIAS.
Simulations are unrealistic (except colour blindness) - especially tunnel vision and Parkinson's disease 1 YES The updated version of DIAS has new filters that deliver more realistic simulations of impairments.
The simulations do not seem as realistic as the ones of the MIS simulator 1 YES The updated version of DIAS has new filters that deliver more realistic simulations of impairments.
Choosing an accessible based persona the DIAS window was cleared (no content any more). 1 YES Reliability issues have been successfully resolved in the updated version of DIAS.
Dyslexia simulation was not functioning 1 YES In the updated version of DIAS, dyslexia simulation is functioning well over Java applications with Swing components.
Sometimes after closing, it did not want to start again 1 YES Reliability issues have been successfully resolved in the updated version of DIAS.
Sometimes happened that when you opened other Java application, DIAS was launched again and it was impossible to stop it 1 YES Reliability issues have been successfully resolved in the updated version of DIAS. However, in some rare cases the specific problem may appear. As this cannot be resolved programmatically, a manual solution is provided in the READ_ME.txt file.
Unclarity: jar and jad? When choosing a jar file from jad folder, the application crashes with unspecified error. This could be avoided easily by a catch block and going back to start mode 1 YES Fixed. Now an error message is showed and the user is able to load another .jar file.
Crashed a few times 1 YES In the updated version of the DIAS tool, particular care has been taken to cater for reliability issues.
Personas limited. 1 YES The DIAS tool contains now a larger set of personas than before, providing significantly more options to users for selecting personas to be simulated.
The application is a little bit slow and requires using too much scrolling 1 YES Performance issues have been appropriately addressed in the updated version of the tool, whereas special care has also been taken to reduce the cases where scrolling is needed.
The personas were not explained, and only few were provided. This is different from the other tools. Why? By not explaining/describing the personas, the user has no clue what he is to expect. Only when clicking on help was the full persona shown. Not really user friendly. 1 YES The DIAS tool contains now a larger set of personas than before, providing significantly more options to users for selecting personas to be simulated. Limited, yet adequate information regarding each persona (demographic info and disability) is provided as soon as each persona gets selected. Thereafter, through the 'Help for ...' option, the user can get a more detailed description of each selected persona.
The standalone version has some issues with the display settings 1 YES Display issues have been successfully resolved in the updated version of DIAS.
Ability to create profiles or joining two disabilities. I miss those. 2 YES The existing disability profiles can be adjusted through the "Details" option of each disability. This allows the user to assess a given application over new disability profiles s/he can create, by adjusting the symptoms of each supported disability. Joint simulation of visual and motor impairments is now also supported.
Simulation of further disabilities... Dyslexia is shown in extremes. But there are additionally other cases of people who are signified as having Dyslexia but also have other combination difficulties such as: Dyspraxia (DCD), AD/HD, language processing or mild Autistic Spectrum disorders etc. which are not noticed or diagnosed at the assessment stage, these people will appear more severe than the average individuals who just have straight forward Dyslexia. Epilepsy is missing. Limited slow moves by people with limited dexterity were not addressed, however this is also needed. 2 Partially DIAS has been updated with new filters and further functionalities (e.g. screen reader) so as to provide better simulation, for further disabilities. However, adequate information that could lead to the proper simulation of some suggested disabilities (e.g. epilepsy, dyslexia variations) was not found.
Application should give hints in text form. 2 YES Adequate information is provided from DIAS to the user in text form, where needed.
I supposed a radial blurred gradient overlay similar to the processing done on "Loss of central vision" - "Cataract" might have been adequate for "Loss of Peripheral Vision" --> Glancoma too 2 YES The tunnel vision symptom of Glaucoma required a different filter from the one of Cataract. In any case, the updated version of the DIAS tool has new filters both for Cataract and for Glaucoma, providing an even more optimal simulation of the specific impairments than before.
I missed the possibility to combine visual+motor impairments. If that is possible, it was not obvious enough 2 YES DIAS now allows the simultaneous simulation of visual and motoric impairments. For instance, if Parkinson is selected, it is jointly simulated with subsequently selected visual impairments.
It did not crash nor a deadlock occurred, but we observed that if you don't close the application properly, the simulator can get "stuck" on the JVM. Weird 2 YES Reliability issues have been successfully resolved in the updated version of DIAS.
Maybe a bigger (full screen) window or operating system overlay would help clarify a disability for someone without. 2 YES In the updated version of DIAS, the window takes automatically the optimal size in respect of the application under assessment. Moreover, using the magnifier, the user can examine the disability symptoms in an even more detailed way.
Combination would be interesting for better imagination of the impairment impact 2 YES Through a "demo" option, DIAS now provides users the capability to view a sequential combination of different severity levels of disabilities. This way, the user can better understand each impairment’s impact, as severity levels increase.
I would like to have automatic simulation. This way I can see the simulation of different profiles of users with disabilities without having to modify the settings. 2 YES Such automatic simulation capability is now provided through a "demo" option placed next to the slider that selects the different user profiles, in respect of the different disability severity levels.
I would like to create personalized personas in the application so I can test it with my own profiles of users with disabilities. 2 Partially DIAS provides the user with the ability to define her/his own disabilities with varied, personalized symptoms, by utilizing the "detailed settings" option of each disability that is available in the tool.
Confusing tree structure (hard to find impairment) 2 YES The tree structure has been further examined, so as to ensure it allows easy selection of impairments.
Real-time simulation; more realistic simulations; eye tracking to split interaction and eye focus 2 YES The updated version of DIAS has new filters that deliver more realistic simulations of impairments.
No explanation what SPRING is for, no checksum provided for installer, administrative privileges required, spring blocked by firewall -- not clear if full functionality is available. There's definitely more explanation necessary. Most developers have security obligations and admins and company policies forbidding installation. Administrators will request explanations (if they understand their role adequately). The tutorial says the tool gives hints and help to correct problems -- where? 2 YES In the "SPRINT_web_page.txt" (in the "dependencies_TO_BE_INSTALLED" directory) there is a link to the web page that includes all the necessary information about SPRINT. Wherever possible, DIAS provides hints that help the developer to correct the problems. For instance if we try to simulate dyslexia or Parkinson's disease, the tool marks in red the problematic components and if we click on the marked component, specific details and hints are provided. In cases where the mapping between the disability and the properties of each interface component is not possible, just the simulation of the disability is provided.
The scroll bar of the "help for" is overlapped by the scroll bar of the DIAS window 2 YES This issue has been successfully resolved in the updated version of DIAS.
All visual impairments were simulated adequately; no technical background 3 YES Details over the symptoms simulated from DIAS in respect of each visual impairment can be found through the "Help for.." option of the DIAS simulation pane.
I would like to create my own Personas to test the application with disabilities that I can specify 3 Partially When a user wishes to test an application over disabilities s/he can specify, s/he can adjust the symptoms of the disabilities covered from DIAS through the "detailed settings" option.
Lack info about the user behaviour with MD 3 YES Details over Macular Degeneration can be found using the "Help for Macular Degeneration" option of the DIAS simulation pane.
Automated profiles, ability of creating new profiles and more info on the existing profile 3 YES DIAS provides for each disability some common symptom profiles (severity levels) as automated ones. The user is also provided with the ability to manually create her/his own disability profiles, through the "detailed settings" option of each disability supported from the tool. Through the "Help for..." option, the user is presented with detailed information regarding each disability.
Click to update the view is too much, automatic update after selection would be nice. 3 YES The majority of the filters require the mouse pointer to be over the application examined, so as to have a reference point for the simulation. However, DIAS now also provides a "demo" option, through which severity levels of a disability change automatically as the user interacts with the application, without needing to manually select disability parameters and subsequently click over the application again.
Inconsistent choosing options (list, drop-down, radio button…) 3 YES The different choosing types were utilized so as to provide users, for each element that needed to be chosen, the optimal way to select it. However, the consistency among the choosing options between different impairments has been further examined, so as to improve the overall consistency and usability of the tool.
I was unable to make it working because I couldn't find the correct JRE. The application should identify it automatically. 3 Partially In order to identify automatically the path of the JRE, the JAVA_HOME environmental variable has to be already set in the system. Otherwise DIAS must search in the registry. As problems may occur when: 1) the JAVA_HOME environmental variable is not set, 2) when the system is 64-bit or 3) when many different versions of Java are installed, it is safer to set the JRE path manually. However, to make this process easier, the application has been improved and now the user has to set the JRE and emulator paths once. Then, they are stored in a .properties file.
The mapping of the disabilities with the slider bar of the severity of the disability was very useful. However, it should be incremental so I can know that for example "more than 60% of persons with macular degeneration can use my application" 3 YES Regarding the slider and the percentage of the disabled population, wherever literature information was available (e.g. for Cataract), it was exploited during the development of the sliders and DIAS provides information regarding the disabled population percentage that is covered each time.
Window resize should be remembered 3 YES Resizing of the application under assessment leads to immediate, appropriate resizing of the DIAS simulation pane.
In my opinion selection tree for disabilities and options should be placed at the top of that dialog 3 NO Providing these options at the bottom, allows for the simulation pane to be as better aligned (in respect of its latitude) to the interaction pane as possible. This alignment allows the user of the tool to understand more easily the symptoms of a disability, and how these affect the application's interface.
It will be a good idea to make a wizard. 3 Partially The use of DIAS is quite straightforward. However, a "demo" option has been added in DIAS, allowing the automatic simulation of the different severity levels of various disabilities, so as to further facilitate users.
Join interaction and simulation windows. 3 YES The simulation window always follows the position of the interaction window, thus the two windows are practically joined.
It's not practical to configure the classpath for the JRE and the emulator platform every time you start the tool. I also miss a plugin for netbeans for the JavaME version. 3 YES Fixed. Now, once the JRE and emulator paths have been set, they are stored in a properties file. The simulation of mobile applications will be supported only by the standalone version of DIAS.

Position in the theoretical development process

The specific impairments that were finally selected to be addressed from the DIAS tool are Macular Degeneration, Glaucoma, Cataract, Hyperopia, Colour Vision Deficiencies, Protanomally, Deuteranomaly, Tritanomaly, Protanopia, Deuteranopia, Tritanopia, Night Blindness, Extreme Light Sensitivity, Retinitis pigmentosa , Parkinson’s disease, Dyslexia, Conductive hearing loss, Sensorineural hearing loss.

The tool (a screenshot is being provided to the following figure) is based on a series of filters, developed on the basis of the above theoretical background, which take as input the appearance of the simulated application and provide as output the results that would have been received by an impaired end user with the supported disabilities. Moreover, the joint simulation of visual and motor impairments is supported from DIAS, as well as the simulation of impairments along with the use of assistive technologies, such as screen magnifiers and screen readers.

Figure 1: Simulation of visual impairments
Figure 1: Simulation of visual impairments

A path to obtain the required quality to integrate the tools in mainstream development environments (e.g. Netbeans, JDeveloper)

A suite of three different plug-ins for the NetBeans platform has been developed, in order to provide users of this IDE with the DIAS impairment simulation capabilities, embedded in their development environment. The two out of these three plugins enable the simulation of Java applications, whereas the third one allows the simulation of web pages of sites that are developed through the NetBeans IDE.

Figure 2: Toolbar of NetBeans IDE with the DIAS run main (marked in red), web preview (blue) and preview design (green) plug-ins installed
Figure 2: Toolbar of NetBeans IDE with the DIAS run main (marked in red), web preview (blue) and preview design (green) plug-ins installed

Finally, a JDeveloper plugin for DIAS is being developed while will be announced in the ACCESSIBLE project Web site.