A Flash Developer Resource Site

Results 1 to 13 of 13

Thread: AS3.0 and 508

  1. #1
    Media Developer CJElven's Avatar
    Join Date
    Jan 2002
    Location
    San Antonio, TX
    Posts
    298

    AS3.0 and 508

    Creating a 508-compatible site is not the easiest thing to do. As of late, however, it IS a task with which my company has been saddled more frequently. Some customers demand an AS 2.0 solution, while others want something more up-to-date, and demand AS 3.0.

    Now, in AS 2.0, 508 was a little easier. You could force a screenreader to read what you wished by changing the focus to your intended destination. Once the focus was changed, JAWS or Window-Eyes (or your preferred reader) would automatically read the _accProps for the newly focused-upon object.

    However, in AS 3.0, this does not seem to be the case. Updating an object's accessibilityProperties is not difficult. However, forcing the screenreader to reread programmatically, without actually touching the keyboard or mouse, seems to be far more difficult than previously.

    I'm sure there's a way to force this reading, but I have not yet found a programmatic way in which to accomplish it. Has anyone else?
    Dragontech Media
    Magic.Fire.Content

  2. #2
    Will moderate for beer
    Join Date
    Apr 2007
    Location
    Austin, TX
    Posts
    6,801
    For those like me who had no idea what 508 was: http://www.section508.gov/

    Sorry that I don't have any solid ideas for you. I'd take a wild leap and try ensuring that each of your objects has a tabIndex, and is tabEnabled. To be clear, you are saying that setting stage.focus is not working for you?

  3. #3
    Media Developer CJElven's Avatar
    Join Date
    Jan 2002
    Location
    San Antonio, TX
    Posts
    298
    Setting stage.focus DOES work. However, it no longer causes the screenreader to activate and read the newly-focused object automatically. I'm not having trouble setting focus to the object, though.
    Dragontech Media
    Magic.Fire.Content

  4. #4
    Will moderate for beer
    Join Date
    Apr 2007
    Location
    Austin, TX
    Posts
    6,801
    Is there a way to manually force the reader to read? If so, you could add a stage level listener for FocusEvent.FOCUS_IN and kick off the reader then.

  5. #5
    Media Developer CJElven's Avatar
    Join Date
    Jan 2002
    Location
    San Antonio, TX
    Posts
    298
    Well, that's what I'm trying to determine. If you're asking "Is there a way to tell the screenreader, directly, to read?", then the answer is "No." This is a failing of Microsoft at the moment, as all major readers use the interface provided by Microsoft to interact with the content on stage. At this time, there is no command that can be passed to a screenreader to force it to begin reading.

    As I mentioned, in AS 2.0, using "setFocus" would cause the screenreader to automatically read what you focused upon (though not the entire page), but that was a definite workaround. It was one that worked consistently, however.
    Dragontech Media
    Magic.Fire.Content

  6. #6
    Ө_ө sleepy mod
    Join Date
    Mar 2003
    Location
    Oregon, USA
    Posts
    2,441
    There's a little blurb over on the adobe dev center: http://www.adobe.com/accessibility/products/flash/

  7. #7
    Media Developer CJElven's Avatar
    Join Date
    Jan 2002
    Location
    San Antonio, TX
    Posts
    298
    I've read that and, unfortunately, that blurb amounts to nothing. All that blurb says is that it's just as compatible as versions 8 & 9. Technically, it's easier to assign the 508-compatible information than it was previously.

    "Compatible", however, does not necessary equate to "useable". In AS 2.0, it was a little more useable. The ability to force the reader to read in 2.0 may have been a fluke, but it was a darned useful one that I wish they hadn't (accidentally or otherwise) taken away.

    However, if someone HAS figured out a reliable way to force a screenreader to refresh, or read targeted material, in AS 3.0, I would love to know about it.
    Dragontech Media
    Magic.Fire.Content

  8. #8
    Mourning Morning. groupof1's Avatar
    Join Date
    Feb 2008
    Location
    Middle of somewhere
    Posts
    194
    Funny, I am working on this very issue as well. If I get anywhere I will make it known.
    What the world needs now is a nice hot bath.
    _________________________________________________
    Battles: Silverx2

  9. #9
    a.k.a gltovar deadlock32's Avatar
    Join Date
    May 2001
    Location
    Naperville,IL
    Posts
    489
    I am 100% unfamiliar how these work, but will they read web docs alright? depending on the solution you are looking for, could you have the as3 run an External Interface JS call, and send over the text you want it to read, and the reader program recognized that?

  10. #10
    Senior Member
    Join Date
    Jan 2006
    Posts
    133

    Question

    Hello All,

    I recently got saddled with this issue as well.
    I have successfully gotten the JAWS screen reader to "read" my SWF (which is embedded in HTML).
    However, it basically only reads what is on the stage on the 1st frame... I have a simple (but lengthy) animation where various text snippets appear and disappear (along with various graphic elements which I don't want to make accessible).

    Ideally, I would like JAWS to "read" the text as it appears. I have tried using text boxes, and movieclips in conjunction with the settings in the Accessibility Panel to no avail.

    So, I was wondering if anyone has come up with a surefire method to make JAWS (or any screen reader) read something when it appears on the stage?
    Last edited by badaboom55; 10-05-2009 at 08:17 PM.

  11. #11
    a.k.a gltovar deadlock32's Avatar
    Join Date
    May 2001
    Location
    Naperville,IL
    Posts
    489
    Above I talked about using external interface. When 'web 2.0' or AJAX driven sites load, do they have the same issues? If they don't you might be able to call some JavaScript and send it to some hidden (or 1px by 1px) div for it to read.

  12. #12
    Senior Member
    Join Date
    Jan 2006
    Posts
    133

    Exclamation

    Yeah, you might be able to do that.

    I'm looking for more of a completely self-contained / Flash / ActionScript 3.0 only solution.

    My SWF is kind of a standalone piece... it WILL be displayed in an HTML shell (I think), but I don't have any control over what the HTML page contains.

    Basically, my job is to deliver a SWF to the client, so the SWF is really the only thing I have any control over.

    Now, I've installed a JAWS demo on my machine, and it (as well as some other screen readers) basically works like this (using Internet Explorer):

    Upon opening the MySWF.html with IE, JAWS starts reading the "title" of the html page, etc.
    The user can hit Tab to navigate through IE's menu items, as well as the content in the actual HTML page itself.

    For Example, the first Tab hit selects IE's address bar and JAWS says "Address bar: h-t-t-p-semi-colon slash slash ..."

    The next time the user hits Tab, the "Favorites" button is selected, JAWS says "Favorites Bar ...".

    So, the user continues to hit the Tab button on the keyboard, and eventually they'll start stepping through the actual content in the HTML page (links, images, form fields, etc.) and JAWS will describe each item as it's selected.

    Now, as the user Tabs through the HTML page, they'll reach my embeded SWF. And JAWS actually DOES read what is contained in that SWF, because JAWS reads whatever the user selects via the Tab key... so once the user gets to the SWF with the Tab key... viola!

    Now a couple questions/issues have arisen:

    If I have a SWF with some buttons or form fields in it on frame 1, and the user has Tabbed through the HTML page and gotten to the SWF. JAWS reads the SWF contents; HOWEVER, if the user hits the Tab key again... the focus does NOT switch to the form field within the SWF that has the lowest tab index... it appears to move on to the next item within the HTML page AFTER the embedded SWF... such as a link or image, etc.
    (However, if I CLICK on a form field within the embedded SWF, then pressing the Tab button will step through the various MovieClips and Graphics within my SWF like you would expect.)
    I've seen some cases where you're have a webpage that has an embedded SWF and it says something like "Press Spacebar to Activate", which seems to achieve the same thing, because by pressing the spacebar, you "activate" the SWF, essentially saying "Ok, now I want to Tab through items within the SWF as opposed to tabbing through the HTML page..."?

    So, is it possible to
    1) "activate" the SWF via ActionScript 3.0? Basically, I would like to achieve the same result as manually clicking on the embedded SWF or Tab-selecting the SWF and pressing spacebar.

    2) Is it possible to "steal" focus from the containing HTML page? For example,
    if the Internet Explorer address bar is highlighted/selected, is it possible for me to put some AS3.0 code in my SWF that once the SWF reaches frame 30, I can grab the focus from IE's address bar, and set the focus to, say, a MovieClip within my SWF?

    My thinking is that if I can "force" Internet Explorer to change focus (same thing that happens when you hit the Tab key while browsing a webpage)... then maybe JAWS will read the thing that got the focus.

  13. #13
    a.k.a gltovar deadlock32's Avatar
    Join Date
    May 2001
    Location
    Naperville,IL
    Posts
    489
    i'm pretty sure you cannot used just flash for force focus on the swf, it would break security checks. Similar to how popups get blocked unless there was a mouseclick involved.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center