[Laszlo-checkins] r13169 - in openlaszlo/branches/4.2: . WEB-INF/lps/lfc/kernel/swf WEB-INF/lps/lfc/views lps/components/lz

max@openlaszlo.org max at openlaszlo.org
Wed Mar 4 19:34:32 PST 2009


Author: max
Date: 2009-03-04 19:34:28 -0800 (Wed, 04 Mar 2009)
New Revision: 13169

Modified:
   openlaszlo/branches/4.2/
   openlaszlo/branches/4.2/WEB-INF/lps/lfc/kernel/swf/LzSprite.as
   openlaszlo/branches/4.2/WEB-INF/lps/lfc/views/LaszloCanvas.lzs
   openlaszlo/branches/4.2/lps/components/lz/radio.lzx
Log:
Merged revisions 13147 via svnmerge from 
http://svn.openlaszlo.org/openlaszlo/trunk

.......
  r13147 | max | 2009-03-03 18:41:42 -0800 (Tue, 03 Mar 2009) | 20 lines
  
  Change 20090302-maxcarlson-P by maxcarlson at Bank.lan on 2009-03-02 23:39:29 PST
      in /Users/maxcarlson/openlaszlo/trunk-clean
      for http://svn.openlaszlo.org/openlaszlo/trunk
  
  Summary: Add accessibility support to radiobuttons
  
  Bugs Fixed: LPP-7594 - IBM Jaws Accessibility support needed for Radioboxes and trees and Issues (partial)
  
  Technical Reviewer: promanik
  QA Reviewer: aalappat at laszlosystems.com 
  
  Details: LzSprite - fix braino in __gotFocus()
  
  LaszloCanvas - Make sure canvas.accessible is false for runtimes that don't support accessibility.
  
  radio - Add accessibility support, conditionalize on canvas.accessible.
  
  Tests: See radiotext.lzx test from LPP-7594 with JAWS or accevent.exe from http://www.microsoft.com/downloads/details.aspx?familyid=3755582A-A707-460A-BF21-1373316E13F0&displaylang=en.  LPP-7593 runs as before.
.......



Property changes on: openlaszlo/branches/4.2
___________________________________________________________________
Name: svnmerge-integrated
   - /openlaszlo/branches/4.1:1-10153 /openlaszlo/branches/devildog:1-8432 /openlaszlo/branches/pagan-deities:1-7955,8825,10756-10920,10922-10928,10930-10935,11151,11207,11554 /openlaszlo/branches/paperpie:1-6504,6506-6574,6576-7135,7137-7235 /openlaszlo/branches/wafflecone:1-5746,5818-6068,6070-6205,6207-6213,6216-6265,6267-6368,6370-6431,6433-6450,6497,6509,6661,7097,7872 /openlaszlo/trunk:1-12154,12172-12175,12177-12185,12187-12194,12196,12201,12208,12229,12251-12252,12254-12255,12257-12258,12260,12262-12266,12268-12269,12271-12275,12278-12285,12303,12318-12323,12340-12348,12352,12354-12358,12360-12361,12363,12365-12367,12369-12371,12375-12378,12380-12389,12391,12394-12396,12399-12400,12402-12403,12406-12416,12419-12422,12424-12429,12431-12433,12435,12437-12441,12443,12445,12447,12449-12451,12453-12454,12457-12460,12464,12466-12475,12477-12480,12482-12490,12493-12495,12499-12502,12507-12510,12512,12514-12520,12522,12525-12531,12534-12540,12542,12545,12548-12554,12557-12561,12564,12566-12568,12571,12574-12576,12578,12580,12583-12584,12586-12587,12589,12592-12596,12598-12600,12602-12609,12611-12615,12617,12619-12621,12623,12625,12628-12631,12633-12635,12637,12639,12642,12644,12647-12653,12656,12658,12660,12662-12666,12668-12694,12696,12698-12704,12708-12710,12712-12721,12723-12729,12731-12742,12745-12752,12754-12784,12786-12791,12793-12798,12800-12801,12803,12805-12808,12810-12812,12814,12816-12821,12825-12833,12835-12837,12839-12841,12847,12849-12850,12852-12859,12863-12883,12885-12895,12897-12906,12908-12915,12917-12922,12924-12934,12937-12940,12943-12944,12946-12947,12950-12952,12955-12964,12966-12969,12971,12973-12977,12979-12993,12997-12999,13001-13003,13006-13007,13010-13015,13017-13020,13022-13024,13026-13031,13033,13035-13037,13039-13040,13043,13046-13052,13055-13060,13062-13069,13071-13072,13074,13076-13085,13087-13093,13095-13101,13103-13104,13106,13108-13110,13112,13114-13120,13122,13125-13126,13129,13132-13136,13139-13140,13142,13157-13158,13163,13167
   + /openlaszlo/branches/4.1:1-10153 /openlaszlo/branches/devildog:1-8432 /openlaszlo/branches/pagan-deities:1-7955,8825,10756-10920,10922-10928,10930-10935,11151,11207,11554 /openlaszlo/branches/paperpie:1-6504,6506-6574,6576-7135,7137-7235 /openlaszlo/branches/wafflecone:1-5746,5818-6068,6070-6205,6207-6213,6216-6265,6267-6368,6370-6431,6433-6450,6497,6509,6661,7097,7872 /openlaszlo/trunk:1-12154,12172-12175,12177-12185,12187-12194,12196,12201,12208,12229,12251-12252,12254-12255,12257-12258,12260,12262-12266,12268-12269,12271-12275,12278-12285,12303,12318-12323,12340-12348,12352,12354-12358,12360-12361,12363,12365-12367,12369-12371,12375-12378,12380-12389,12391,12394-12396,12399-12400,12402-12403,12406-12416,12419-12422,12424-12429,12431-12433,12435,12437-12441,12443,12445,12447,12449-12451,12453-12454,12457-12460,12464,12466-12475,12477-12480,12482-12490,12493-12495,12499-12502,12507-12510,12512,12514-12520,12522,12525-12531,12534-12540,12542,12545,12548-12554,12557-12561,12564,12566-12568,12571,12574-12576,12578,12580,12583-12584,12586-12587,12589,12592-12596,12598-12600,12602-12609,12611-12615,12617,12619-12621,12623,12625,12628-12631,12633-12635,12637,12639,12642,12644,12647-12653,12656,12658,12660,12662-12666,12668-12694,12696,12698-12704,12708-12710,12712-12721,12723-12729,12731-12742,12745-12752,12754-12784,12786-12791,12793-12798,12800-12801,12803,12805-12808,12810-12812,12814,12816-12821,12825-12833,12835-12837,12839-12841,12847,12849-12850,12852-12859,12863-12883,12885-12895,12897-12906,12908-12915,12917-12922,12924-12934,12937-12940,12943-12944,12946-12947,12950-12952,12955-12964,12966-12969,12971,12973-12977,12979-12993,12997-12999,13001-13003,13006-13007,13010-13015,13017-13020,13022-13024,13026-13031,13033,13035-13037,13039-13040,13043,13046-13052,13055-13060,13062-13069,13071-13072,13074,13076-13085,13087-13093,13095-13101,13103-13104,13106,13108-13110,13112,13114-13120,13122,13125-13126,13129,13132-13136,13139-13140,13142,13147,13157-13158,13163,13167

Modified: openlaszlo/branches/4.2/WEB-INF/lps/lfc/kernel/swf/LzSprite.as
===================================================================
--- openlaszlo/branches/4.2/WEB-INF/lps/lfc/kernel/swf/LzSprite.as	2009-03-05 00:00:50 UTC (rev 13168)
+++ openlaszlo/branches/4.2/WEB-INF/lps/lfc/kernel/swf/LzSprite.as	2009-03-05 03:34:28 UTC (rev 13169)
@@ -1605,7 +1605,7 @@
     var v = this.myView || this._parent.myView;
     if (!(lz.Focus.getFocus() === v)) {
         //var tabdown = lz.Keys.isKeyDown('tab');
-        lz.Focus.setFocus(this.myView);
+        lz.Focus.setFocus(v);
     }
 }
 

Modified: openlaszlo/branches/4.2/WEB-INF/lps/lfc/views/LaszloCanvas.lzs
===================================================================
--- openlaszlo/branches/4.2/WEB-INF/lps/lfc/views/LaszloCanvas.lzs	2009-03-05 00:00:50 UTC (rev 13168)
+++ openlaszlo/branches/4.2/WEB-INF/lps/lfc/views/LaszloCanvas.lzs	2009-03-05 03:34:28 UTC (rev 13169)
@@ -217,8 +217,9 @@
                 this.sprite.setAAActive(true);
                 this.sprite.setAASilent(false);
             }
-        } else if (args.accessible && $debug) {
-            Debug.warn("This runtime doesn't support accessibility.");
+        } else if (args.accessible) {
+            if ($debug) Debug.warn("This runtime doesn't support accessibility.");
+            args.accessible = this.accessible = false;
         }
 
         if ((typeof(args.history) == "undefined") || args.history == null) {

Modified: openlaszlo/branches/4.2/lps/components/lz/radio.lzx
===================================================================
--- openlaszlo/branches/4.2/lps/components/lz/radio.lzx	2009-03-05 00:00:50 UTC (rev 13168)
+++ openlaszlo/branches/4.2/lps/components/lz/radio.lzx	2009-03-05 03:34:28 UTC (rev 13169)
@@ -123,7 +123,82 @@
           to be radiogroup. -->
     <class name="radiobutton" extends="baselistitem" focusable="false"
         clickable="true">
+        <!--- @keywords private -->
+        <method name="init">
+            <![CDATA[
+            super.init();
 
+            if (canvas.accessible) {
+                this.accessible.setAttribute('applied', true);
+                var mc = this.getMCRef();
+                mc._accImpl = {};
+                mc._accImpl.stub = false;
+                mc._accImpl.master = this;
+
+                mc._accImpl.get_accRole = function() {
+                    // ROLE_SYSTEM_RADIOBUTTON
+                    return 0x2d;
+                }
+
+                mc._accImpl.get_accName = function() {
+                    return this.master.text;
+                }
+
+                mc._accImpl.get_accState = function() {
+                    if (this.master.selected) {
+                        // STATE_SYSTEM_CHECKED && STATE_SYSTEM_FOCUSED && STATE_SYSTEM_FOCUSABLE
+                        return 0x00100014
+                    } else {
+                        // STATE_SYSTEM_FOCUSABLE && STATE_SYSTEM_FOCUSED
+                        return 0x00100004
+                    }
+                }
+
+                mc._accImpl.get_accDefaultAction = function(childId) {
+                    //Debug.info('get_accDefaultAction', childId);
+                    if (this.master.selected){
+                        return "UnCheck";
+                    }else{
+                        return "Check";
+                    }
+                }
+
+                mc._accImpl.accDoDefaultAction = function(childId) {
+                    //this.master.onclick.sendEvent();
+                    //Debug.write('accDoDefaultAction', this.master);
+                    this.master.parent.select(this.master);
+                }
+            }
+            ]]>
+        </method>
+
+        <state name="accessible">
+            <!--- @keywords private -->
+            <attribute name="EVENT_OBJECT_FOCUS" type="number" value="0x8005"/>
+            <!--- @keywords private -->
+            <attribute name="EVENT_OBJECT_NAMECHANGE" type="number" value="0x800c"/>
+            <!--- @keywords private -->
+            <attribute name="EVENT_OBJECT_SELECTION" type="number" value="0x8006"/>
+            <!--- @keywords private -->
+            <attribute name="EVENT_OBJECT_STATECHANGE" type="number" value="0x800a"/>
+            <!--- @keywords private -->
+            <handler name="onselected" args="s">
+                this.sendAAEvent(0, EVENT_OBJECT_FOCUS);
+                this.sendAAEvent( 0, EVENT_OBJECT_STATECHANGE,true );
+            </handler>
+            <!--- @keywords private -->
+            <handler name="ontext" args="l">
+                this.sendAAEvent( 0, EVENT_OBJECT_NAMECHANGE);
+            </handler>
+            <!--- @keywords private -->
+            <method name="updateFocus">
+                this.sendAAEvent(0, EVENT_OBJECT_SELECTION);
+                this.sendAAEvent(0, EVENT_OBJECT_FOCUS);
+                Selection.setFocus(parent.getMCRef());
+            </method>
+        </state>
+
+
         <!--- the y position of the text label. default: centered -->
         <attribute name="text_y"
             value="${this.rb.height/2 - this._title.height/2}" type="number"/>
@@ -165,6 +240,7 @@
         <method name="setHilite" args="dohilite">
             _title.setAttribute('fgcolor',
                 dohilite ? style.texthilitecolor : style.textcolor);
+            if (canvas.accessible) this.updateFocus();
         </method>
 
         <!-- FIXME: [hqm 2006-09] LPP-2244 This used to be y="$once{classroot.text_y}"
@@ -193,7 +269,7 @@
     </class>
 </library>
 <!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2001-2008 Laszlo Systems, Inc.  All Rights Reserved.              *
+* Copyright 2001-2009 Laszlo Systems, Inc.  All Rights Reserved.              *
 * Use is subject to license terms.                                            *
 * X_LZ_COPYRIGHT_END ****************************************************** -->
 <!-- @LZX_VERSION@                                                         -->



More information about the Laszlo-checkins mailing list