How to best add VoiceOver accessibility for children's graphic books?

iBooks Author seems fairly intuitive for the most part with the exception of adding accessibility (VoiceOver) for children's graphic books.
My story is written as a rhyme and prefer the story to be heard as initial (or primary) VoiceOver after each page advance. That said, because of the (lower) story line page/screen placement (see image) other VoiceOver details are heard first. Because the story is written as a rhyme I found it a broken user experience and frustrating for those in need of the VoiceOver tool during testing (turning on VO in settings).
I think I fashioned a work around (adding the story line to the graphic images, as well as where the story copy appears)—but at the sacrifice of removing image details (that a blind reader may want to hear) and repeating the story.
All that said, am I missing something in iBooks Author? Is there a way to manage how I want the VoiceOver to read in sequence on the screen? If not, are there other best practices I could employ?
Below is a sketch of the page design and numbers reflect the as-is experience vs the desired. Any insights appreciated!

Seen that topic in iBA Tips and Tricks 01 .. yet?

Similar Messages

  • How to use Add Query Criteria for the MySQL data Base in Netbeans ?

    How to use Add Query Criteria for the MySQL data Base in Netbeans Visual web pack.
    When the Query Criteria is add like
    SELECT ALL counselors.counselors_id, counselors.first_name, counselors.telephone,counselors.email
    FROM counselors WHERE counselors.counselors_id = ?
    when i run this Query in the Query Window
    i get a error message Box saying
    Query Processing Error Parameter metadata not available for the given statement
    if i run the Query with out Query Criteria its working fine.

    *I am glad I am not the only one who have this problem. Part of issue has been described as above, there are something more in my case.
    Whenever I try to call ****_tabRowSet.setObject(1, userDropList.getSeleted()); I got error message as shown below:*
    The Java codes are:
    public void dropDown1_processValueChange(ValueChangeEvent event) {
    Object s = this.dropDown1.getSelected();
    try {
    this.User_tabDataProvider1.setCursorRow(this.User_tabDataProvider1.findFirst("User_Tab.User_ID", s));
    this.getSessionBean1().getTrip_tabRowSet1().setObject(1, s);
    this.Trip_tabDataProvider1.refresh();
    } catch (Exception e) {
    this.log("Error: ", e);
    this.error("Error: Cannot select user"+e.getMessage());
    SQL statement for Trip_tabRowSet:
    SELECT ALL Trip_Tab.Trip_Date,
    Trip_Tab.User_ID,
    Trip_Tab.Destination
    FROM Trip_Tab
    WHERE Trip_Tab.User_ID = ?
    Error messages are shown below:
    phase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@5abf3f) threw exception: com.sun.rave.web.ui.appbase.ApplicationException: java.sql.SQLException: No value specified for parameter 1 java.sql.SQLException: No value specified for parameter 1
    com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.java:559)
    com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.afterPhase(ViewHandlerImpl.java:435)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:274)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
    com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
    org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
    org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
    com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
    com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
    com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
    com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
    com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    tandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
    java.sql.SQLException: No value specified for parameter 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
    at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:1674)
    at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:1622)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1332)
    at com.sun.sql.rowset.internal.CachedRowSetXReader.readData(CachedRowSetXReader.java:193)
    at com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:979)
    at com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:1439)
    at com.sun.data.provider.impl.CachedRowSetDataProvider.checkExecute(CachedRowSetDataProvider.java:1274)
    at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(CachedRowSetDataProvider.java:335)
    at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorIndex(CachedRowSetDataProvider.java:306)
    at com.sun.data.provider.impl.CachedRowSetDataProvider.getRowCount(CachedRowSetDataProvider.java:639)
    at com.sun.webui.jsf.component.TableRowGroup.getRowKeys(TableRowGroup.java:1236)
    at com.sun.webui.jsf.component.TableRowGroup.getFilteredRowKeys(TableRowGroup.java:820)
    at com.sun.webui.jsf.component.TableRowGroup.getRowCount(TableRowGroup.java:1179)
    at com.sun.webui.jsf.component.Table.getRowCount(Table.java:831)
    at com.sun.webui.jsf.renderkit.html.TableRenderer.renderTitle(TableRenderer.java:420)
    at com.sun.webui.jsf.renderkit.html.TableRenderer.encodeBegin(TableRenderer.java:143)
    at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:810)
    at com.sun.webui.jsf.component.Table.encodeBegin(Table.java:1280)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:881)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
    at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
    at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    Also when I tried to update my MYSQL connector / J driver to version 5.1.5 from 5.0.5 (NB 5.5.1) and 5.0.7 (NB 6.1), I could not get it work (looooong time to search some JDBC classes and with no response in the end) on both of my Netbean 5.5.1(on PC) and Netbean 6.1(on laptop) IDEs.
    Could anybody look into this issue.
    Many thanks
    Edited by: linqing on Nov 22, 2007 4:48 AM

  • How to let add external apps for simple users?

    How to let add external apps for simple users? Simple users don't have login server administer rights, so how can they add external apps for their use?

    ...Edit External applications portlet sais:
    Error: An unexpected error occurred: User-Defined Exception (WWC-43000)
    :(((

  • Itunes wi-fi sync; how do I add a name for my new computer on the ipad 4?

    RE: itunes wi-fi sync;
    How do I add a name for my new macbook pro computer on the ipad 4?

    You cannot add a name for Mac on the iPad. I assume that you mean in the WiFi sync setting - not possible.

  • How do I add a reminder for a future date in my reminders with the os 7

    How do I add a reminder for a furure date in my reminder?  I can't find a calendar anywhere in reminder so that I can select a date and then type my reminder.

    To do it manually, tap a blank line in the reminder app, enter a title, then tap the 'I' beside it to edit the entry with a date and time. Or, set up a reminder with Siri.

  • HT3500 How can I add WPS (pin)  [for a WiFi capable CAMERA] to Time Capsuale WiFi

    Hi,
    How can I add WPS (pin)  [for a WiFi capable CAMERA] to Time Capsuale WiFi network?
    Regards

    I suggest that you use the Add Wireless Clients feature in AirPort Utility.
    Normally, this feature is used to add a wireless printer, but it will work with any wireless device.
    Open Macintosh HD > Applications > Utilities > AirPort Utility
    Select the Time Capsule and click Manual Setup
    Click the Base Station tab at the very top of the screen
    Click Add Wireless Clients

  • How do you disable remote access for mac routers

    how do you disable remote access for mac routers

    Hi, I'd never buy an Apple router again, but see if reverse thinking works here....
    https://discussions.apple.com/thread/3926392?tstart=0

  • How can I add one seat for a single app to a team account?

    We currently have a team for our art department, which needs Photoshop, Illustrator, In Design and Acrobat.  We have other departments that just need Acrobat.  How can I add one seat, that has access to only one App so I'm not paying the full price?

    Did you ever figure this out? I need Photoshop single licenses and Adobe is making this ridiculously difficult...

  • How do I add new clients for a VAR partner

    I am working for a VAR partner who does not currently have Solution Manager Serice Desk running although this is in process.  In the meantime we have 2 new clients for whom we may need to log support issues via the online SAP Support Portal.  How do we add these clients to our existing clients so that we can log issues and register objects if needed?
    Thank you for your help.

    Dear customer,
    there are two options one is to contact the super users of the new clients in order to get user id's there.
    The better option is to request to be technical set up for both new clients. THis would mean a role must be assinged in order that you can see the installations of your clients for which you are responsible for the support of them. This technical set up cannot be done by the service marketplace. Please contact your local sap contract deparmtent or your sap account manager to take further actions.
    You can locate the correct contact organization via the following link:  
    http://service.sap.com/contracts                                         
    Best wishes,
    Dragana Manojlovic
    SMP TECH Senior Support Consultant II, Global Support Center Austria
    AGS Primary Support, Business Suite & Technology
    SAP Austria

  • I designed my social media buttons. How do I add the link to each one. For example: How do I add my Facebook link to my face book button on my muse site?

    I designed my social media buttons. How do I add the link to each one. For example: How do I add my Facebook link to my facebook button on my muse site?

    Hello,
    Please select the button that you have created and go to hyperlink tab and add the facebook page URL there.
    Please take a look at the screenshot below.
    Regards
    Vivek

  • I have multiple emails, how do I add different signatures for each email address

    I have multiple emails for different companies I work for, how do I add a different signature for each one, it seems like I have to use the same one for all of them

    Thanks.  I think I'm on the right track.  I added the email address to my contacts and double clicked the image icon to change it, but it only lets me snap a new picture or select an image from another location.  What is the folder location of the stock icons that come with Mac OSX?

  • How can I add the lyrics for songs in MP3 format in iTunes for Windows? There is even no the 'Lyrics' tab in the 'Get Info'.

    This topic may be old for you, but I searched everywhere on internet and there's still no solution. I even called the Apple Support and the contact support is taking so long to answer... I can't add the lyrics for songs in MP3 format in my iTunes 11.1.3 for my Windows 8.1, I clicked right at the song in my iTunes library, clicked 'Get Info', and there's no 'Lyrics' tab there. I tried several lyrics-adder programs but they just won't work. How can I add lyrics for my MP3 songs then?

    You may find that the file is Read-only, which means that it cannot be altered.
    However, you can change the Read-only in "Properties" using your file manager.
    1. The location (for the next step) of a song is found by looking n the Get Info/Summary>Where: of each song. Make a note of the location.
    2. Go to the location (on your computer) of the song, right-click it and the last item on the pop-up menu is Properties. Go into Properties/General>Atributes and turn off the tick in the box named Read-only. Now go back to your iTunes Library and try that song again. The Lyrics tab should now be there.

  • How do I set timed access for specific mac addresses?

    My daughter tends to stay up late on social media long after we've asked her to go to bed, so I'd like to use the AirPort Utility to just shut off her internet access during set hours. It looks fairly straightforward to set up, however, I don't know how to find her MAC address for her iPod. Can anyone enlighten me?

    iPods, IPhones, and iPads do not have a MAC Address.
    On the iPod home screen, tap Settings
    Scroll down and tap General
    Tap About
    Scroll down to locate the Wi-Fi Address
    Use the WiFi Address of an iPod, iPhone, or iPad in place of the MAC Address when you are setting up rules in Timed Access.

  • How can I add a popup for right mouse click for anywhere on application?

    I have never used popup menus before but need to add on to my application.
    This is a swing application with several pages that are basically panels that are added and removed as needed.
    I need to have a popup menu that appears anywhere on the application when the right mouse button is clicked,
    no matter which component the cursor is over.
    I have been able to add one for a specific panel, but that is not what needs to be done, since there are dozens
    of separate panels in the application.
    Could someone point me to an example of how to make the popup active for anywhere on the application?
    Thanks.

    You are correct, I have not yet read the tutorial you suggested. I will do so tomorrow and try to move farther up the learning curve.
    My response was intended to acknowledge your reply and let you know where I am in trying to resolve this issue.
    You are also correct in that creating a popup may be a simple task, but, like I stated in my original post, I have never used popups in the past.
    And, like I said, things that are second nature for someone who uses certain components are not always intuitive for people who have not.
    I did do some research before posting my question, but all the examples I found were related to popups tied to a specific panel.
    I am able to create that, but the problem I ran into was that I needed to have a popup menu that was application general, not panel specific.
    It was not obvious to me how to do that and none of the examples I found explained how to do that.
    Hence, my question to the forum, hoping that someone who has gone through this exercise would impart knowledge to help me resolve this issue.
    It is not uncommon for persons to post examples or direct one to web sites that specifically address the issues in question.
    That is what I was hoping for, but I am not adverse to doing follow-up research on leads that are provided.
    My main issue is trying to figure out how to find a parent component (or panel) for the popup.
    You stated that I should be able to get that from the event listener.
    I'm not sure how to do that, but hopefully one of the event listener get methods will provide that information
    Hopefully, I will be able to resolve this with the feedback you provided, but if necessary, I will post code for a simple example to illustrate my problem.
    Thanks again for the feedback.

  • How do I add an output for a 2nd monitor?

    I have a mac mini that was purchased in 2009 I believe, maybe 2008. The operating system has been upgraded to Snow Leopard. I want to add a 2nd monitor, so I can use 2 at the same time, however, there is only one output. Is there a way to add an output for a 2nd monitor? OS is 10.6.X. not at the computer right now to check.
    Thanks for input.

    If the back of your mini looks like this:
    - then you have two display ports already (Mini DVI Port and MiniDisplayPort). I only mention this, as it may not be obvious! You just need the right adapters to feed your two monitors.
    If it looks like this:
    - then you do indeed only have one display output (DVI) and then ignore me, and listen to Asatoran!

Maybe you are looking for