iOS: Telling Accessibility to read aloud specific part of a UIWebView? - uiwebview

I want to add an HTML P tag to a UIWebview, and when I do so I'd like the Accessibility feature, if it is enabled, to automatically read aloud the new text that is in the P tag.
Is such a thing possible?
Thanks.

This is indeed possible, but not consistently implemented on iOS.
Use live region markup like:
aria-live="polite"
or
role="status"
If the parent DOM element has live region markup attributes on it, then adding text content to a child will speak it as it is added.
Placing a role="alert" on the structure your adding will cause the screen reader to say "alert", followed by the text contained in the structure your adding.
See the following for more on live regions:
http://pauljadam.com/moderna11y/#wai-aria
http://www.w3.org/TR/wai-aria-practices/

I don't believe this can be done. The only way I could think to do this would be with WAI-ARIA live regions. It does not appear that Voiceover supports live regions since the following WAI-Aria demo worked fine in firefox using Jaws as the screen reading software but did not work on iOS 4.3.5 using voiceover on an iphone 4.
http://test.cita.uiuc.edu/aria/live/live4.php

Related

How to show website the same way on phone like on PC

Is there any way to show my website exactly the same way how it works on PC, tablets or notebook? I've got full HD laptop and i'm using Chrome - everything works great. On my tablet 10" I also have full HD resolution and Chrome and my website shows like this one on notebook. When I try to to show it on my full HD Lumia 1520 it's crap. I don't use Chrome here so I can understand that some element can be broken by interpreter but it's so approximate that every element go on the others. It looks like 640x480.
Is it some way to force approximate?
If the site developed is not responsive according to the screen size it will not display the content present on it in well manner, you must use bootstrap in your website to make it responsive for all kind of screen resolutions. It may has problem in the CSS. So check the css you used.
Try to use meta tag called view-port. There are different situations and you may set up your website appearance with media queries for responsive results or manage it for being non-responsive but comfortable.
If you need second result - don't use any responsive frameworks or prevent them of using responsive techniques.
There are to much different situations so I can help only if you'll show me the code you have.

can i change Ibook html widget behaviour

i am creating an "iBook Author html widget", That perform some calculation(a simple calculator), Everything work perfectly but my problem is that i want to show widget on page rather then "Default.png" image, and my widget should not be open in popup and workable in place where it is placed.
Is there any setting in plist which can change behavior?
We ran into the same problem when building our first book. iBooks Author doesn't support inline HTML widgets, unfortunately. If you want inline behavior, you have to use one of the existing widgets (video, slideshow, etc.).
You can customize the Default.png file (documentation here) but that's about it.

Organizing placemarks in Google Earth Plugin/KML

I am looking for some insight on if / how I can better approach creating my KML in order to make my data more readable when loaded by via a custom app developed around the Google Earth Plugin.
My constraints are:
I have no ability to do anything with the custom app or the plugin,
I can only provide KML files and take advantage of any features
built into the Google Earth Plugin.
The side bar where you select data to display does not list the folders of the selected KML as a sub menu like I have seen in Google Earth.
My data looks like:
Hundreds of Data points sometimes quite close together, which I am
currently displaying as placemarks, with no names set (was too noisy
on the map). I supply additional details on the placemark in the
description bubble / balloon.
Placemarks are frequently related to one another (i.e. there may be
4 placemarks representing a distinct group (e.g. coffee shops)).
What I have found so far:
There is no way for me to group pins as I zoom in and out without access to the JavaScript API / ability to do some amount of front end programming (i.e. there is no way to specify in the KML that pins should be grouped based on zoom level. I have noted the zoom level visibility settings which I do not believe accomplish what I am looking to do).
When clicking on a placemark there is no way to identify the other placemarks which are in the same group (i.e. all coffee shops) such as by changing their style (again note that to work for me this would have to be native functionality whose behaviour can be pre-specified in the KML). I hoped the plugin might provide some default functionality around this with folders, but I haven't been able to find anything.
My questions:
Are my above assumptions correct?
Are there some aspects of the KML spec and how it is displayed by google-earth which might be a good place for me to spend additional time understanding given the nature of my data?
Any suggestions or insight would be very welcome.
Edit: Also considered creating KML Tours to adjust visibility / identify related Placemarks, but could not see how I might start / stop the tour from a given Placemark (e.g. by clicking a link in the description balloon?).
Firstly, a question for you.
Are you wishing to load your 'app' on a mobile device? or are you just trying to do something on a normal computer?
I ask because you mention 'app' - yet in this line
I have no ability to do anything with the custom app or the plugin, I
can only provide KML files and take advantage of any features built
into the Google Earth Plugin.
The Google Earth PLUGIN is not support by mobile devices (yet) so if you can take advantage of it you must be talking about a normal computer scenario. So either a webpage, or a webpage embedded inside another program.
As for
There is no way for me to group pins as I zoom in and out without
access to the JavaScript API / ability to do some amount of front end
programming (i.e. there is no way to specify in the KML that pins
should be grouped based on zoom level. I have noted the zoom level
visibility settings which I do not believe accomplish what I am
looking to do).
Have you looked into using Regions ? With them you can control at what 'zoom' (ie what POV) a placemark becomes visible.
As for
When clicking on a placemark there is no way to identify the other
placemarks which are in the same group (i.e. all coffee shops) such as
by changing their style (again note that to work for me this would
have to be native functionality whose behaviour can be pre-specified
in the KML). I hoped the plugin might provide some default
functionality around this with folders, but I haven't been able to
find anything.
This depends of if you are really using the plug-in (and thus JS) or not. With straight KML I don't think anything is possible. However if you are using the plugin (and some JS) you have number of options depending on how you set up your .kml.
You can 'walk' through your kml file and find all placemarks with the same <style>
You can assign all your placemark id's by - and then using Accessors like this var placemark = ge.getElementById('unique_id');
However it sounds like you are not using JS so I am probably wasting time with this.
Same goes for using tours, IF you are using the plugin and IF you are willing to do some JS coding then YES you can use tours to all kinds of things.
However, if you are talking about a mobile device app, then nothing is possible (except the Regions) and I suggest you edit your question to remove the 'google-earth-plugin' tag.

Cant dynamically update text in svg using SVGWEB, Embedded SVG Fonts, and Flash Renderer

I am having a problem with the flash viewer and embedded SVG fonts.
I am dynamically changing the content of a element using
javascript. When I do this with the default system font, the text
updates beautifully, however when I use an embedded SVG font and the
flash viewer, changing the context of the element does not
delete the previous contents, it just prints the new contents over the
old.
This only happens with the flash renderer. If I use the native viewers
on firefox or safari, the embedded fonts work perfectly.
Has anyone seen this before? Is there a better way to dynamically
change the value of a text element besides doing this:
svgDoc.getElementById('text1').childNodes[0].nodeValue = customText
There are some other ways to set text content sure. If you are ok with the children of that node being overwritten, then textContent is quite handy for example:
svgDoc.getElementById('text1').textContent = customText (spec link)
If you need very fine-grained control you can look up the Text node properties.
I guess you can always try removing the child elements of your text element if that's what causes repainting issues in SVGWeb. Also you should create an SVGWeb issue so that the bug can get fixed in a future release.

Text based site for mobile phones?

I tested my site on a mobile device and it loaded pretty quickly. However i had to scroll right to see all of the text. The text was pretty big as well.
How can i redesign my site so i dont need to do any scrolling and have smaller text? I know i I seen this before but i cant remember what site did it.
i removed my css and the device scrolled right until the end of my largest div. So i need css to solve this? What css do i need to make the text not big and not cause the user to scroll (horz) no matter how small his screen is?
Also do i detect the user agent in .NET and link an alternative css file or do i detect which css to use elsewhere?
yes you should design an own css-file for the mobile version of your website. either you check the useragent if it's a handheld or you work with the css media type handheld (which is not supported by older browsers) to load the different css-file.
edit:
with css you can also replace images with text

Resources