Veronica With Four Eyes

Tips For Teaching R Programming To A Low Vision Student

As someone with low vision and a degree in computational and data sciences, I love sharing advice with instructors and students alike about tips for introducing the R programming language to students with visual impairments. R is frequently taught in undergraduate and graduate courses in statistics, psychology, research skills, programming, and many others— my first introduction to R was in an introductory computational and data sciences course during undergrad, and I am currently using R in a quantitative methods course as part of my PhD in Education program (while helping several of my classmates in the process). I have used R inside and outside of the classroom setting for many different projects, and I credit my awesome professors for helping me to feel comfortable using R with low vision and with my accessibility needs and preferences. Here are my tips for introducing R programming to a low vision student, from a student with low vision that primarily reads large print and also uses text-to-speech and/or a screen reader to support visual access.

Check if the textbook can be accessed in a responsive or reflowable layout

Digital textbooks often come in one of two layouts, fixed or reflowable. This information is typically included on the eTextbook product listing or in the product description, and some publishers/platforms may offer content in both fixed and reflowable layouts from different vendors. Many instructors who teach R in their classes use online resources such as open educational resources, self-published content, or other online content either in lieu of or in addition to textbooks from traditional publishers.

What is a fixed layout eBook?

Fixed formats (fixed layouts) are designed to mimic the physical textbook pages as much as possible, with preset font styles, line spacing, text alignment, and font sizes determined based on the size of the user’s screen. The appearance of the page cannot be changed, and users will have to use pinch-to-zoom or screen magnification and horizontal scrolling to enlarge text. Some fixed format textbooks have support for text-to-speech, though this is not guaranteed. A PDF is an example of a file with a fixed layout/fixed format.

Fixed layouts can be challenging to navigate with assistive technology as they may require horizontal scrolling to read an entire line of text with large print/magnification, or may not allow users to copy/paste code snippets in a separate window. Users also typically cannot open images or figures in a separate tab, which can make it challenging to examine diagrams or take notes.

What is a reflowable layout eBook?

Reflowable layout allow for display customizations that can be configured by the user, such as adjustable font sizes, options to choose different font styles or text alignments, adjustable line spacing, and additional features such as hyperlinks and options to view images in a new tab. Many reflowable format textbooks have support for text-to-speech, though this is not guaranteed— however, it is more common for reflowable layouts to support text-to-speech. An EPUB or HTML page is an example of a file with a reflowable layout/reflowable format. Reflowable layouts may also be referred to as responsive layouts.

Since reflowable layouts support display customizations like text resizing, they may be easier to navigate for students with visual impairments. Users can also typically copy and paste code snippets to run in the console on their own device. As a student with low vision, I find it much easier to work with reflowable layouts as I find it easier to navigate things like the table of contents or read content from either my computer or tablet.

Related links

Expose alt text as image descriptions

In a different programming class I took, one of my professors would share screenshots of code and ask students to re-type the code snippets into their own console. I noticed that I was making frequent errors when writing because it was challenging for me to visually identify character-level formatting details, which weren’t formatted correctly in the image’s embedded alt text (a text-based description of essential details in an image designed for accessibility purposes). Since alt text is generally hidden to users who are not using screen readers and may not convey formatting details like white space adequately, alt text alone was not sufficient to make these images accessible for me.

When writing alt text for code snippets or other text-heavy content, I strongly recommend “exposing” the alt text as an accompanying image description, which can be placed below the image or viewed in a separate section of the page— several books I have encountered have a heading at the end of a section with a list of image descriptions for each figure or table within a particular section. This makes it easier to format the text and decreases the cognitive load of having to transcribe text from an image, and can help to provide context or clarification about visual content. I love image descriptions because I can read them in my preferred font size, which makes it easier for me to notice character-level details like colons, semicolons, or locations of parentheses.

Related links

Offer cheat sheets in formats other than PDF

In my first R programming class, the professor gave students a one-page “cheat sheet” that allegedly contained everything we would need to know to pass the first exam. I have no idea if that statement was accurate or not, because the cheat sheet was a PDF filled with small print in a multi-column layout— it was impossible for me to zoom in and read any of the text! I was nervous to use OCR due to the large amount of symbols included within the cheat sheet, and it was challenging to know for sure if the text was even being read correctly.

Something that helped tremendously was finding cheat sheets in responsive layouts like HTML or Word documents, which I could read with large print in a single-column layout. Posit now offers HTML cheat sheets for RStudio as well as PDFs, though there are many other websites like DataCamp that also offer cheat sheets for R programming in multiple formats. My professor gave me a copy of the cheat sheet that I would need for the exam as a Word document with headings so I could navigate between sections.

Related links

Provide copies of information shown on the board

It can be challenging to follow along with live coding or to copy down notes from the board, so I have an approved disability accommodation that allows me to get copies of class handouts or information on the board so I can follow along on my own device. In my R programming classes, the professors would typically share a copy of PowerPoint slides or an RMarkdown file that I could run on my own computer, which made it easier for me to view code output in large print or to follow along with what is being written on the board. Some professors would also create screen recordings where they show themselves writing code or editing snippets, which I could pause or enlarge on my own device.

In my current quantitative methods course, my professor uses a Google Colab file to share notes and code snippets, and I typically access a copy of the notes shortly before class begins. Colab is a cloud-based Jupyter Notebook environment that supports R, and requires a free Google account. I typically view Colab content on my computer during class using the web browser.

Related links

Allow the use of other IDEs if needed

As a student with low vision that primarily accesses information visually with large print, screen magnification, and color-coding, I use RStudio with large print or screen magnification and supplemental text-to-speech when needed. However, there are many students with visual impairments that prefer to use Visual Studio Code (VSCode) or run R scripts from the command line as these can be more straightforward for screen reader users or for keyboard navigation; I have used VSCode and the command line for other programming languages. When possible, I recommend allowing students to check out these programs in advance so they can learn more about available accessibility settings and identify a program that will fit their needs. I have linked information about enabling screen reader support in RStudio below.

When I had to use a Mac computer, my professor recommended Emacs and Emacs Speaks Statistics (ESS) for R accessibility, which is frequently recommended for screen reader users as it offers several keyboard shortcuts. Echoing a recommendation from Liz Hare’s post on using R with screen readers, the Emacspeak screen reader can be used in conjunction with Emacs and the Mac terminal (or Linux terminal).

Related links

Install R packages for low vision accessibility

I started using the BrailleR package during undergrad, which generates text-based descriptions of graphs and other data visualizations to assist with interpreting data. BrailleR can be used with a screen reader, braille display, or in conjunction with other assistive technologies or display customizations. I have used this for my current course when helping other students learn to interpret histograms, which makes it easier to identify subtle visual details.

Another R package for accessibility is Sonify, which can be used with univariate data sampled at regular or irregular intervals for sonification (a continuous sound with time-varying frequency). I used Sonify when tutoring another student with low vision to help illustrate differences between different data visualizations that the professor had shared as part of their notes— they had been difficult to see when the professor was using screen sharing tools during class.

While not specifically designed for accessibility, I also use R Markdown or the Quarto tool to export plain text and code as an HTML document or Word document, which is easier for me to read with large print.

Related links

Use high-contrast colors when creating visualizations

I have a contrast deficiency, so color combinations like light gray and white or light blue on a blue background are difficult or impossible for me to see. Using high-contrast colors that “pop” against the background can make it easier for students to locate areas of interest within a visualization.

One of my friends is colorblind in addition to having low vision, and talked to their professor at the beginning of the semester about the best colors to use when sharing visualizations during class or lab sessions. My friend has a color filter on their personal device, so there were times where their professor would use screen mirroring/screen sharing so they could follow along on their own device, while another professor would change the colors of graphs so that they were easier to see. Examples of colors used included magenta, cyan, yellow, and green.

Related links

More resources for teaching R programming to a low vision student

  • Pre-teaching R programming concepts is often recommended for students with visual impairments, but it can be hard to know what concepts to focus on. I share several tips in Pre-Teaching Programming Languages To Visually Impaired Students
  • While this resource is not specific to R programming or low vision (or a complete list of potential resources), I created a list of UDL resources for introductory data science/data analytics courses as part of a project for my EDAT 524 course while studying for my M.Ed. in Assistive Technology. This can be viewed on Wakelet at EDAT 524: UDL Resource Notebook – Wakelet
  • When posting assignment instructions, consider using a Word document or other responsive format instead of a PDF with a list of questions. Some of my professors will post assignment instructions on Canvas so they can be read with Immersive Reader, which I write about in How I Use Canvas With Low Vision
  • Taking a SQL class? I share how I configured SQLiteStudio for large print in SQLiteStudio Accessibility and Low Vision

Published September 22, 2025. Updated December 2025

Reference
Lewis, Veronica. (2025). Tips For Teaching R Programming To A Low Vision Student. Veroniiiica. https://veroniiiica.com/teaching-r-programming-to-low-vision-students/ (Accessed on December 21, 2025)


Exit mobile version