Our tool is available in the following GitHub Page: Plain Language Checker website.
In 2022, 1 in 4 adults (26%) in the United States considered themselves living with at least one disability according to the Centers for Disease Control and Prevention (CDC). Of those 26%, 10.9% live with cognitive disability.
People with cognitive impairments may find it difficult to read and understand important documents that are not written in plain language. These difficulties may have serious consequences like impact on healthcare access.
There are some existing tools like:
Because it's costly to build and maintain, companies don't want to offer it for free.
There are other tools aimed at text readability. These include:
However, these tools are aimed at readability and while they do overlap in some ways with plain language writing, these tools don’t target plain language writing directly.
We created a simple website. The users can enter their article or text. Our software will run a list of checkers and validators based on PlainLanguage.Gov. For this website, we choose ReactJS to build the front-end and store our code in a public GitHub repository. It allows the public to modify and contribute to the code. We also choose a free GitHub Page to host the website. Therefore, it encourages everyone to clone our repository, and set up their GitHub page for free.
Although we did not have the opportunity to interact with people with disabilities directly, we found multiple first person accounts from people with and without disabilities regarding plain language. One of our teammates had lived with someone who has Autism for 4 years. Based on their experience, it was really important to speak in plain language. If the text is too complicated it can cause people to feel confused or bad about themselves. Using plain language helps people feel included.
The plain language checker will first clean up the input text. This involves doing things like replacing multiple line breaks with just one and replacing tabs with spaces. Then, the input text is split into paragraphs and each paragraph is split into sentences. Each sentence is then processed by multiple functions that check different plain language guidelines. These functions will generate feedback items that will form the report. The feedback items in the report are grouped by sentence and are reported in the following order: issues, suggestions and kudos.
We found the following first person accounts:
The following are "nice to have" work items that we weren't able to get done due to time constraints:
Another thing that could be improved is the ability to filter the report. For example, if you only wanted to see issues, or just suggestions. In addition, another feature would be to filter to a particular type of feedback. For example, if you wanted to see only the complex words detected. This would be especially useful for larger reports. Furthermore, it would also be nice to have the option to fix some of those problems automatically, with a "fix" button for each feedback item.
Additionally, it would be useful to be able to configure the hardcoded thresholds, like how many words does it take for the checker to consider a sentence long, or how many sentences is a long paragraph, or the ratio of examples or transition words to paragraphs. Finally, it would be useful to extend this tool to other languages beyond English.
The app was designed and implemented to be accessible. We added tabindex and roles where it was needed. The app has a title, a text area box for input, and a "Submit" button. The report is very simple and lists the feedback items found. The specific comments are listed first and then the general comments. We used as many accessible elements as possible. For example, headers and hyperlinks.
In order to verify the accessibility of the website, we used the following automated tools:
None of these reported any errors. In addition, we conducted manual testing using a screen reader (for Windows and Mac) and keyboard navigation. We didn't find any issues during our manual testing either.
Syllable Open Source Project Syllable NPM Info
Passive Open Source Project Passive - GitHub Info
In the project directory, you can run:
yarn start
Runs the app in the development mode.\ Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.\ You will also see any lint errors in the console.
yarn test
Launches the test runner in the interactive watch mode.\ See the section about running tests for more information.
yarn run build
Builds the app for production to the build
folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.\ Your app is ready to be deployed!
See the section about deployment for more information.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.