An Introduction to Emacs Accessibility

Welcome to our first entry in the Emacs Workshop where we will discuss everything to do with Emacs.

In this post, we are going to begin a series of tutorials on Emacs accessibility.

What is Emacs?

Emacs can be simply understood as a text editor, although its adherents would like to think of it as more than a text editor.

Emacs means editing macros, which tells us a lot about its origins rather than its use. It is described as a self-documenting editor. In other words, nothing but everything.

Well, it is just a text editor which you can enhance through packages or tinkering with some lisp code.

It is regarded as one of the difficult tools to work with perhaps due to its heavy use of keyboard bindings, which may appear to be inconsistent at times. Unlike Vim where you can get the hang and feel of its modes, in Emacs we have things like key maps that host other keys to nested levels.

For the purposes of this series, let us think of Emacs as an editor such as VSCode.

Thinking of accessibility in Emacs

Regardless of it being a text editor, Emacs for the most part acts like an independent platform—something like a desktop or an operating system. This means that it offers a hosting environment for its mini-applications that makes it difficult to play along with other tools such as Operating System screen-readers.

Because of this, there is need for a solution built into the platform itself. And that is when we talk of accessibility options that you can use. These include Emacspeak and Speechd-el.

Among the two, Emacspeak was developed earlier than Speechd-el. Each of them has got its own set of strengths and weaknesses which I will discuss in some future post. Their performance is relatively the same, save for the following minor differences:

Why would anyone use Emacspeak?

  • Because it was developed earlier, and as a result has a huge following.
  • It comes with many tailor-made extensions optimised for blind and visually impaired users.
  • Emacspeak’s developer regards it as an oral desktop rather than a screen-reader.

Why would anyone use Speechd-el?

  • Speechd-el tries to stick to a modular way of operation: it does not try to extend Emacs beyond its base offering.
  • It uses Speech Dispatcher, which is the de facto standard of providing speech on Linux platform instead of using a native server like what Emacspeak does.
  • Because of the above reason, Speechd-el supports Braille.
  • In short, Speechd-el aims to be a screen-reader rather than a desktop environment.
  • The major setback with Speechd-el is that its development currently seems to have stalled. Its last release is Version 2.7 in 2015.

Regardless of the option you choose, you will find that both work well to make your experience with Emacs pleasant.

Setting Up Accessibility

Now for you to take part in the future lessons in this workshop, it is advisable that you do the following:

  • Make sure that Emacs is installed.
  • After installation of Emacs, install either Emacspeak or Speechd-el—or both if you like.
  • Open your ~/.emacs or ~/.emacs.d/initiate.el1 and type the full path to your Emacspeak or Speechd-el installation. By default it is /usr/share/emacs/site-lisp/

Both screen-readers will show you a line which you have to prepend to your Emacs initialisation file. For example, with Emacspeak do the following:

(load-file "/usr/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.el")

And for Speechd-el, do the following:

(autoload 'speechd-speak "speechd-speak" nil t)

Note: to install applications on your platform, it depends with which distro you are using. For instance, you can type:

on Arch Linux
sudo pacman -S <application-name>
On Debian/Ubuntu
You type sudo apt-get install <application-name>
On Fedora
You type dnf -i <application-name>
On Slint
You type slapt-get -i <application-name>2

Conclusion

Throughout this post, we started exploring the Emacs accessibility options. This is important for anyone who may wish to follow lessons on Emacs accessibility while he or she is blind or visually impaired.

In the next post of this workshop, we will begin exploring Emacs. We will seek to answer the question: How do we navigate in Emacs?

Footnotes:

1

Which is the
Emacs initialisation file

2

Slint
already comes with Emacs, and both Emacspeak and Speechd-el
installed. So you may not need to go through this.

Get WordPress help, plugins, themes and tips at MachoThemes.com