[NFBCS] no display in old browser

Doug Lee dgl at dlee.org
Fri Apr 5 13:48:47 UTC 2024


I guess I'm not alone in the practice of staying in text-only browsers for research and exploration of unfamiliar
websites. It's nothing to do with blindness but a lot to do with security and a little to do with raw speed. I
use multiple text browsers though, including something I wrote myself but that is very specific to JAWS. That
one is embedded in my JAWS Alert Manager (JAM) because I often use it to check out a website that is mentioned
in an alert from Discord, or Telegram, or Twitter/X, etc. (I need to release an update to JAM actually.)

But yes, text browsers have their limitations. You called out the first one, but just for reference I'll list
some more after I address your question.

If you have no control over the website in question, you're probably out of luck. I did once use Safari on a
Mac from a mixture of Python and AppleScript to display web information in a text screen, but that's quite a
sledgehammer for the average soul I'm sure.

I have not seen one, but I see no reason why a text browser might exist that would execute a limited subset
of Javascript. If you happen to find such a thing, I'd be interested just on principle.

Aside: Among the disadvantages of text browsing, I encountered one interesting advantage, at least for some
of us: All content of <details> tags is shown without effort in a text environment, whereas these are
collapsed in a graphical browser and must be opened.

The list of text browser limitations - and this is just limitations of access, not of display since it's
fairly obvious we can't do graphics, fancy formatting, navigation by or even recognition of control types,
etc.:

1. Dynamic content: If content is generated server side, such as with php, it's fine; however, if dynamic
content is pulled by code running inside the browser, that won't work in these text environments and you will
miss information.

2. Browser blocking: Some websites block Lynx in particular but not other options like w3m. Btw, try twice if
blocked; some sites, notably Microsoft Answers if I remember right, will let your second attempt through.

3. More intense blocking: Sites that use a CAPTCHA or other means to verify the organic nature of the visitor
will often simply deny text browser access. Response messages sometimes contain information that explains
whose code base is responsible; examples I've seen include PerimeterX which is now HUMAN (that's an all-cap
name), Incapsula which is now Imperva, and Cloudflare.

There's a line out of Star Trek III that springs to mind here, uttered by Scotty after he revealed his
sabotage of a pursuing ship's engine: "The more they overthink the plumbing, the easier it is to stop up the
drain." In the case of websites, the more you require of the local browser, the more risk the local browser
becomes in order to allow it.

On Fri, Apr 05, 2024 at 08:30:20AM -0400, NFBCS mailing list wrote:
yes, maybe 'static' is not the right word.
'dynamic' is what makes it work.
the web site does api calls to nasa  so the information displayed is always different.
so then if lynx can't run java script then it is impossible.
it is not an accessibility issue but that there is nothing to display.
lynx has no way to retrieve the information.
it seems that all modern browsers have no problem like this.
the lynx browser was around in the early 90's.
i still use a lynx browser to go to web sites that i have never heard of, so i can check them out without worry.


> On Apr 5, 2024, at 7:21 AM, Jim Barbour <jbar at barcore.com> wrote:
> 
> If you need to make static versions anyway, why not just use that version for all browsers.  That way you won't have duplicate sources of the same information.
> 
> Hope that helps,
> 
> Jim
> 
> On Fri, Apr 05, 2024 at 07:16:20AM -0400, Peter Mark via NFBCS wrote:
>> oh thanks for the quick response.
>> 
>> i did just realize that lynx does not support java script and dynamic loading.
>> the 'alt' tag is not the issue as much as these issues.
>> the natively accessible parts of the web page are the explanation, title and copyright.
>> since they are dynamically displayed, it will not work with lynx.
>> 
>> i need to make a static, non-visual section that will show these text fields in the lynx browser.
>> 
>> in the way past i do remember that it is possible to 'hide' text from the visual audience but will show up in plain text browsers.
>> 
>> 
>>> On Apr 5, 2024, at 7:04 AM, Jim Barbour <jbar at barcore.com> wrote:
>>> 
>>> Hey Peter,
>>> 
>>> Could you be clearer about what you're expecting to see and aren't.  Is it the alt tag that's missing?
>>> 
>>> Also, a link to the page you took the html and js from would be much appreciated.
>>> 
>>> Thanks,
>>> 
>>> Jim
>>> 
>>> On Fri, Apr 05, 2024 at 06:53:15AM -0400, Peter Mark via NFBCS wrote:
>>>> hi list
>>>> 
>>>> 
>>>> i have a nasa picture of the day web page.
>>>> www.onisland.com/apod
>>>> it works just fine on my mac and phone, but i noticed that if i use a very old lynx browser, no text inside the <div> is displayed.
>>>> it is all just basic html and java script so i am puzzled why.
>>>> any advice would be helpful.
>>>> below is relevant snippets.
>>>> 
>>>> here is the style definitions and html that defines the placeholders for the retrieved data.
>>>> 
>>>>   <style>
>>>>       body {
>>>>           font-family: Arial, sans-serif;
>>>>           background-color: #f5f5f5;
>>>>           color: #333;
>>>>           max-width: 800px;
>>>>           margin: auto;
>>>>           padding: 20px;
>>>>       }
>>>>       h1, h3 {
>>>>           font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
>>>>       }
>>>>       a {
>>>>           color: #007bff;
>>>>           text-decoration: none;
>>>>       }
>>>>       a:hover {
>>>>           text-decoration: underline;
>>>>       }
>>>>       #nasa-content {
>>>>           border: 1px solid #ddd;
>>>>           background-color: #fff;
>>>>           padding: 20px;
>>>>           margin-top: 20px;
>>>>       }
>>>>       #nasa-image {
>>>>           max-width: 100%;
>>>>           height: auto;
>>>>           border: 1px solid #ccc;
>>>>           padding: 10px;
>>>>           background: #fff;
>>>>       }
>>>>   </style>
>>>> ...
>>>> 
>>>>   <div id="nasa-content">
>>>>       <p id="nasa-title"></p>
>>>>       <img id="nasa-image" src="" alt="NASA Picture of the Day">
>>>>       <p id="nasa-explanation"></p>
>>>>       <p id="nasa-copyright"></p>
>>>> 
>>>>   </div>
>>>> 
>>>> and below is the java script that fills in the html
>>>> all is pretty straight forward.
>>>> 
>>>>               if(data.media_type === 'image') {
>>>>                   document.getElementById('nasa-image').src = data.url;
>>>>                   document.getElementById('nasa-title').textContent = data.title;
>>>>                   document.getElementById('nasa-explanation').textContent = data.explanation;
>>>>                   if(data.copyright) {
>>>>                       document.getElementById('nasa-copyright').textContent = "Copyright "+data.copyright;
>>>>                   }
>>>>               } else {
>>>> 
>>>> 

-- 
Doug Lee                 dgl at dlee.org                http://www.dlee.org
"All these years, the people said, 'He's acting like a kid.'
He did not know he could not fly, so he did."
--Guy Clark, "The Cape" (Dublin Blues)



More information about the NFBCS mailing list