Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7C55C10F37 for ; Thu, 29 Aug 2013 17:26:26 +0000 (UTC) Received: (qmail 60794 invoked by uid 500); 29 Aug 2013 17:26:26 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 60613 invoked by uid 500); 29 Aug 2013 17:26:24 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 60600 invoked by uid 99); 29 Aug 2013 17:26:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Aug 2013 17:26:23 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of bowserj@gmail.com designates 209.85.223.177 as permitted sender) Received: from [209.85.223.177] (HELO mail-ie0-f177.google.com) (209.85.223.177) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Aug 2013 17:26:19 +0000 Received: by mail-ie0-f177.google.com with SMTP id e14so1280943iej.36 for ; Thu, 29 Aug 2013 10:25:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:date:message-id:subject:from:to:content-type; bh=AWpEOlDXWcuoG2XQSfSwFT6GHVA/jxpqYz0SS0yYEMA=; b=GKhpmxro4dMK8amR17UkG2SVF59VH5lpG6Jizz5CyTcGbidRL2jW1RntCL4VEaeCmX DEQVKZ9xD9Ga0s68Te6nKE7SPLgZQZ94AUfH7wyU8lxUcZ/7NL8+GjfXS9BNjxZPQKB1 x8SkJwzpkrMlH9colgKbKLWEsrG2ymBeQyy/A8VkkZOWRYs7L5kFWbQ3er7n4VaLr6Xq 3y304TCHbtGBJbhVI2mSay2AO/reh75RTGjcEcM7C4H65BnMlIsv0xdG1PPmMDtMWVLd rOupRQEEq9RTafRiSyzxl73hFbDp75WmvUNi8Gf3DORyRDO6xiwyhQjmxxqnOilxKmFr m3AA== MIME-Version: 1.0 X-Received: by 10.42.52.5 with SMTP id h5mr663295icg.73.1377797158570; Thu, 29 Aug 2013 10:25:58 -0700 (PDT) Received: by 10.50.114.132 with HTTP; Thu, 29 Aug 2013 10:25:58 -0700 (PDT) Reply-To: bowserj@apache.org Date: Thu, 29 Aug 2013 10:25:58 -0700 Message-ID: Subject: Android a11y, Whitelists and Offline Story From: Joe Bowser To: dev Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Hey The last week, I've been doing some preliminary work on Android accessibility, and after fiddling with Cordova, I've come to some pretty bad realizations: 1. Android Accessibility in a WebView is achieved the same way we do PhoneGap, except that their JS is injected from a static server. This means that if the app is offline, it's not accessible to the blind 2. Most of Android isn't actually accessible, namely the Play Store, which is how most people discover apps. "Play Store, Play Store, Play Store, Play Store" doesn't seem super useful. 3. There's no real point trying to make accessibility work on Gingerbread, since the accessibility libraries don't really work on that platform, and aren't as robust. 4. Accessibility is HARD, especially when you're not blind. 5. The splashscreen says "Alert". WTF? So, one major issue that I ran into is that you have to whitelist gstatic.com so that you can get the Accessibility Javascript. It'd be great to see how the accessibility JS works and communicates with the two interfaces that it adds to the WebView. BTW: Here's the Java portion of Accessibility on the WebView: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/AccessibilityInjector.java Any ideas on how we can take advantage of this, make it better when we're offline. Right now, it just treats the webview as one giant view. Thoughts on this would be great. Joe