Introduction to Accessible Coding

Young learner holding a book and working with a coding environment on their laptop

Coding education is becoming an increasingly common and important part of the curriculum in elementary schools around the world.

It is an activity that is recognized as supportive to the development of:

  • digital literacy
  • critical thinking
  • creative thinking
  • collaborative skills

All of these developments are required skills for participation in the new knowledge economy. Though it is difficult to predict what the specific nature of employment positions will be in the future, the accelerated pace of change in today’s market increasingly requires workers to be highly skilled in:

  • team collaboration
  • flexibility and adaptability to new technologies and practices
  • engaging critically and creatively with digital innovations
  • embracing the demands of continuous learning and on-the-job skills development

While coding is seen primarily as a means for developing the specific technical skills that will support future career opportunities, coding education is equally important as a way to develop social, daily living, communication, and creative skills — coding to learn.

“These skills are useful not just for computer scientists but for everyone, regardless of age, interests, or occupation.”

Mitchel Resnick, 2013

Learners who are supported in developing self-reflection or metacognitive skills regarding their own learning needs are more likely to succeed in the learning process and to ultimately be better prepared for navigating the constant change and lifelong learning required for participation in a variety of activities. Coding education, when approached with this broad perspective and at an early age, offers a critical way for youth to develop the social, daily living, technical, and creative skills that will prepare them to contribute in the future.

Despite the recent emphasis placed by policymakers and educators on introducing learners to coding at a young age, classrooms often do not have sufficient flexibility to accommodate the needs of learners who have difficulty reading or who need additional guidance and time or those who need help focusing or remembering. Many learners who have complex learning needs are being excluded from the opportunity to learn or are relegated to passive roles, while their peers actively engage in solving problems together computationally.

Most popular block programming environments are incompatible or untested with commonly used assistive technologies such as screen readers, magnifiers, and reading/writing aids, and are limited in their ability to be controlled efficiently using alternative input devices such as switches, eye gaze cameras, or onscreen keyboards. Often, programming environments cannot accommodate system-wide changes to magnification, spacing, or text size, and do not provide simplified modes that help make it easier for learners to read or focus on the salient parts of the program.

All the while, learners with disabilities often have the most to gain from the opportunities afforded by learning to code. Shared programming activities can help contribute to the development of skills that are essential for learning as well as daily life and work:

  • expressive communication
  • literacy
  • sequencing
  • metacognitive skills

Perhaps most importantly, coding provides learners with new ways to discover and create personal outlets for creative expression. Learning to code can empower learners to be active producers of their digital environments, rather than just consumers of prefabricated apps and games. This empowerment is particularly valuable for those who depend on assistive technologies or personalized user interface adaptations. Programming literacy can provide them with new means to reconfigure, script, or develop their own personally tailored access tools and features.

While there are many educational coding tools available to support block programming for elementary school learners, none of them were designed with the needs of learners with disabilities in mind, and all have accessibility issues that limit their use by some learners. The lack of user interface flexibility, interoperability with assistive technologies, and the inability to add customized learning scaffolds and adapted materials are all major accessibility barriers within these environments. Furthermore, the coding curriculum resources written for teachers are not geared to the instruction of learners who have complex learning needs, who benefit from highly scaffolded instruction.

As in other areas of the curriculum, taking a UDL approach to coding instruction and materials can provide greater opportunity for the active participation of learners who have complex learning needs. Teachers need assistance in modifying coding learning resources to suit their learners’ needs and in understanding how to help learners generalize coding skills to other aspects of the curriculum and daily living.