Silverlight 5 input language override issue in Chrome/Firefox - silverlight

Working on a fairly large Silverlight project I have an issue with Chrome/Firefox not respecting the input language set by the user.
In IE, if I change the keyboard language to Arabic, the input is in Arabic. If I do this while running the Silverlight application in Chrome/Firefox, then it doesn't matter what keyboard settings I have, the input is still in English.
Is there something way to override the input language which I am not seeing? I ask because if I create a new SL project with only a TextBox on the form, then all behaviour is correct.

Do you have param name="windowless" value="true" in your Silverlight param configuration? If yes, then remove this line and try again.
The property windowless has a problem with Chrome and Firefox with characters with accents, still I could not solve the problem.

Related

How to enable Screenreader "Browse Mode" in a custom Application?

Screen readers like NVDA implement two modes of operation: Browse Mode and Focus Mode.
Browse Mode is for reading a website/document/application. The screen reader will read all visible contents.
To interact with the website/document/application, Focus Mode offers some advantages: only the interactive content parts are read. In a website, this would mean that links, buttons, forms and navigation are read, but normal text is not read.
In NVDA, you can usually switch between Browse and Focus mode with Insert+Space, which is then confirmed by a sound. This works in most applications: Browsers, Windows Explorer, Skype, VS Code.
However, in my own WPF application (which e.g. has accessibility labels), when I press Insert+Space, nothing happens. NVDA seems to always be in Focus Mode, and there is no Browse Mode.
Intuitively this makes sense, because for Browse Mode, the screenreader needs to "know" what elements it should read, and in what order.
I have no clue where to begin implementing it. Is this a common WPF problem? Is it a problem of NVDA, which somehow needs to know that the application is capable of Browse Mode?
Is it possible you built your application with the accessibility compiler option turned off? Here are a few things you can check:
Accessibility switches in .NET
Example of solving an accessibility issue in .NET
Using Accessibility Insights to inspect accessibility properties in a WPF
If you run the built-in calculator app on Windows, it has the same problem as your app. You're always in forms mode and Ins+space won't switch to browse mode. However, there isn't really any "plain text" to read in the calculator app. Every element is an interactive element.
However, the Settings app does have some plain text and it has the same problem too. I can navigate to all the interactive elements but I can't get to the "Get even more out of Windows" text or the text underneath it. Visually it looks like a heading followed by a paragraph but switching to NVDA browse mode doesn't work.
Seems this is the way NVDA detects accessibility of an application:
Normally, NVDA uses the IAccessible2 API to get accessibility information from Chrome. With this embedded version of Chrome, NVDA seems to be unable to query the IAccessible2 interfaces and falls back to plain IAccessible/MSAA. I've seen this in embeded Chrome versions in Qt as well. Pretty sure it is a problem in the embedded version of Chrome.
Source: https://github.com/nvaccess/nvda/issues/13493

Gesture support for WPF WebBrowser Control which is displaying a HTML5 Site

In a standard WPF app, I have a WebBrowser control which has been navigated to a HTML5 sample page (http://ie.microsoft.com/testdrive/Browser/BrowserSurface/).
In the browser outside the app, I can interact with this site as expected – move photo’s around, use gestures etc.
In the WebBrowser control the site does not work as expected. It renders, but it does not respond to any touch gestures – It will, however, zoom in and out when I pinch.
Is it possible to make the WebBrowser control pass gesture events etc so that I can interact with the site as I would in a normal browser?
Many thanks for any help with this!
Kris
I know this is an old question but I think this has something to do with the fact that the WebBrowserControl standard uses IE7 ActiveX. I had the same problem which always gave me JavaScript errors in the control for TouchEvents.
After I added some registery key to force the WebBrowserControl to use the latest IE version installed it worked.
Here is what I've add to my registery. Paste it in a txt file and save it as an .reg file. Then DoubleClick it. Or enter the key/value manual in your registery via Regedit.
I even included this in my application code to add the key/value automaticially if it doesn't exist yet.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"RetailTestApplication.exe"=dword:270f
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"RetailTestApplication.exe"=dword:270f
Sorry, the code plugin srews up.
Change IE version for the WPF WebBrowserControl
MSDN Internet Feature Controls (B..C)

Is it possible to install different fonts on windows phone 7 emulator?

I made a demo application using Silverlight where I have given certain Unicode of Hindi language to be displayed on a textbox as a text. ऋ ऊ उ ई इ आ, unicode positions are '\u090B', '\u090A', '\u0909', '\u0908', '\u0907','\u0906' respectively.
So when I pass this whole thing as a string to the textbox.text property it shows at the debug time as the exact value is to the textbox but when I go through the emulator the display shows empty boxes.
Is this require installation of different fonts on emulator? If so then how can I do this? Is it possible to build an application for Windows Phone 7 which can support different languages?
You can embed fonts in your WP7 applications in the same way that you embed fonts for any Silverlight application as decribed in the Embedding fonts in Silvelright blog post by Paul Yanez. You simply check the Embed checkbox in the Text pane in Expression Blend.
NOTE: You will need to make sure that you are licensed to use the font in this way or that it is free for use in this way.

Disable shortcut/shotkeys of browser in Silverlight?

I am trying to add some shortcut handlers like Ctrl+B in my Silverlight application.
However, in IE when we press the Ctrl+B, it comes out a child window of " Organize Favorings". Is it possible to disable these browser shortcuts with Silverlight?
Many many thanks!
Mrainy
I'm not sure you can judging by what I've read. You may be able to hack it with javascript code on the page that passes it on to the silverlight application, however. (See javascript/silverlight interop)
If you need to use common shortcuts in your application perhaps you should consider running it in Out of Browser mode.
You can find out more about OOB on the MSDN:
http://msdn.microsoft.com/en-us/library/dd550721(v=vs.95).aspx
http://msdn.microsoft.com/en-us/magazine/dd882515.aspx

Is there a way to remove the source domain from the window title in an out-of-browser Silverlight 3 app?

We may not have the option to migrate over to Silverlight 4 right away, so I was wondering if anyone found a way to remove the source domain name from the window's title for out-of-browser Silverlight 3 applications. Our window title currently looks like this: "My App - localhost."
Under Mac, I found the Info.plist file in the application bundle and found where you can set the Bundle name property as well as TrimmedSourceDomain. Unfortunately, when I clear the TrimmedSourceDomain property, the title looks like "My App -," and if I delete the property entirely, the application doesn't launch. I assume similar problems would occur under Windows. Have any of you found a workaround?
Sliverlight 4 specifically mentions "chrome" as one of its new features. I've heard recently from an MS Developer Evangelist that the new chrome feature includes not having any at all. My hunch, therefore, is that SL3 OOB applications cannot have their chrome removed.
I think the answer is simply "no." It looks like it still can't be done under Silverlight 4, either. You can, under SL 4 do custom Chrome, but that's the closest thing to do that I can find.

Resources