Accessible Web Development
2019-11-15
Preface
Welcome to Accessible Web Development! Up to today, any type of graphics programming, or any kind of software development that is visual in nature is inaccessible to people with complete vision loss, for ovbious and nonovbious reasons. To complicate matters further, text editors are mostly written with sighted programmers in mind. Furthermore, it is estimated that seventy percent of the legally blind population is unemployed. Developers of software libraries write their documentation and manuals without descriptions, assuming that all who read such documentation always rely on visual input. This books is an effort to mitigate these issues, empowering completely blind individuals to seak employment, compete with sighted counterparts, and overcome challenges that are present in the field. This book is written by a blind person, for the blind community.
Who This Book is for
This book is for you if…
- You are a completely blind person who would like to learn about software development;
- you are in the field of accessibility and would like to understand web technologies from a developer’s point of view;
- you design experiences and user interfaces;
- you Would like to communicate with software developers effectively, and clarify any accessibility problems;
- you are a motivated, curious reader willing to learn.
What This Book Will Cover
This book is divided into parts. Each part will be dedicated to either a programming language we use, or a software tool designed to work with that programming language. We will cover HTML 5, which is a language that tells a web browser such as Chrome what we want on a page. Do we want to show a contact form? Should our form have check boxes, radio buttons, regular buttons, or edit boxes? Should a screen reader announce to a user that a particular element on the page is a container or a grid? What fonts should we include on the page or app?
Next,we will cover JavaScript. This language adds logic to our applications and pages. It aids in performing actions after buttons are clicked, forms are submitted, and data is retrieved. We’ll explore the very fundamentals of the language, as well as the advanced and strange aspects of it. We’ll also look at different ways of thinking about computer programs; these are called paradigms. Specifically, we will cover the functional, imparative, and object-oriented paradigms… All supported very well by JavaScript, and very essential for becoming a well-rounded programmer.
After JavaScript, we’ll cover APIs (application programming interfaces), which are fragments of code that other programmers have written in order for us to leverage their functionality. We’ll first look at a standard known as the Document Object Model, which developers utilize to think about HTML documents. Then, we will use J Query, a library for accomplishing many tasks quicker and for making our code compatible with every browser. We will then work with CSS, and study tools that aid in creating user interfaces. CSS allows us to style our HTML documents. It has the capability to add colors, animations, and fonts to our sites.
Book Features
The book will provide real-world projects for readers to work on. Terms such as agile methodology, test driven development, version control, and others will be introduce; we’ll use them heavily in the projects and problems we pose. Some chapters will provide references for readers to research a topic further and verify the book’s content, if so desired. Heavy emphasis will be placed upon accessibility, and the impact that a line of code may have regarding the usability of a web page.
Overview of Tools we Will Use
Keep in mind that these are just some of the tools we’ll need. Other tools will be introduce as we progress through the book. Our first examples and projects will utilize basic text editors such as Notepad. We will then upgrade to Visual Studio Code, a modern text editor from Microsoft; it is the best in software development tools, and it is accessible. Note that there are other editors such as EdSharp, which is written by a blind developer. However, Visual Studio Code is known to sighted developers, and the more we are able to adapt to the sighted world, the better. We will also use Git. Git is what’s known as a version control system. This helps us avoid having to make copies of folders holding the same project, when only a few changes were made. Also, if we make mistakes, it is easy to travel back in time to the version of our projects that do not contain those previously made mistakes. Then, we will make use of Node, which will help us develop JavaScript code, and runs on servers (but we’ll install it on our own computers). Finally, we’ll use Git Hub, a website for publishing our code in the form of what are called repositories.