A screen reader need not literally read what’s on screen. It typically doesn’t with prose, where punctuation isn’t spoken, but affects timing and intonation, and abbreviations often are expanded (iOS speaks “Dr. John St.” as “Doctor John Street”, for example, but “St. John Dr.” as “Saint John dee-ar”. MacinTalk used to know that ‘Dr’ means ‘Drive’)
So, it need not do that here, and could say
“call read, eval it, print the result, and call loop on print’s output”
, using intonation or voice to indicate the difference between content read from the screen and text describing it.
Farfetched? Maybe, but take a look at what screen readers do with html.
A screen reader that knows lisp semantics could go even further, and replace loop by repeat forever or something like it.