WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Menus and other pop-ups in voiceover on iOS

for

From: glen walker
Date: Jun 15, 2018 9:40AM


Some websites do serve up different html depending on the device/browser.
I've seen different code generated for Internet Explorer than for Firefox,
but it has to be an intentional thing by the developer. It's not uncommon
but is generally frowned upon as a general practice except as a last resort
(speaking with my software engineering hat on).

You can "view source" if you have a bookmarklet, or at least that's how I
do it. Here's the one that I use:

function()
{
var a=window.open('about:blank').document;
a.write('<!DOCTYPE html><html><head><title>Source of ' location.href
'</title><meta name="viewport" content="widthÞvice-width"
/></head><body></body></html>');
a.close();
var b=a.body.appendChild(a.createElement('pre'));
b.style.overflow='auto';
b.style.whiteSpace='pre-wrap';
b.appendChild(a.createTextNode(document.documentElement.innerHTML))
}

That's a "prettified" version for readability. It essentially creates a
new page with a shell of html then adds a <pre> element containing your
original page's innterHTML. The following is a urlencoded version that you
can copy/paste into a new bookmarklet. (I can explain how to create a
bookmarklet separately if needed).

javascript:(function()%7Bvar%20a=window.open('about:blank').document;a.write('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ESource%20of%20'+location.href+'%3C/title%3E%3Cmeta%20name=%22viewport%22%20content=%22widthÞvice-width%22%20/%3E%3C/head%3E%3Cbody%3E%3C/body%3E%3C/html%3E');a.close();var%20b=a.body.appendChild(a.createElement('pre'));b.style.overflow='auto';b.style.whiteSpace='pre-wrap';b.appendChild(a.createTextNode(document.documentElement.innerHTML))%7D)();