Commit Graph

56 Commits

Author SHA1 Message Date
Sean Lip 75a842b884 Refactor common functionality. Focus on new blocks immediately after they are created. Fix active descendant for tricky cases where moving a block to a marked spot splits the existing tree. 2016-08-01 19:20:20 -07:00
Sean Lip 2312a2d716 Improve screenreader focus behaviour when copying or moving blocks to a marked field. 2016-08-01 18:00:53 -07:00
Sean Lip 044d8a0ea6 Fix error with invoking utilsService. 2016-07-28 18:53:46 -07:00
Sean Lip 03900e1400 Add an additional aria labelledby attribute to the toolbox blocks. 2016-07-28 18:44:08 -07:00
Sean Lip 3c395ac161 Fix aria labels for toolbox trees on Voiceover. 2016-07-28 18:39:08 -07:00
Sean Lip 47888b806f Ensure aria-labels for workspace work correctly with Voiceover on Mac. 2016-07-28 18:29:44 -07:00
Sean Lip f7bdf1168d Fix issue with duplicate ids in workspace tree block field menus. 2016-07-28 17:53:43 -07:00
Sean Lip 408e306ffc Update aria labels. In the process, refactor lists to comply with HTML5 spec to avoid ChromeVox getting confused about how many elements are in a list. 2016-07-28 17:47:43 -07:00
Sean Lip e6f0bf57a9 Change 'UNAVAILABLE' label to 'DISABLED'. 2016-07-28 16:06:12 -07:00
Sean Lip 01a7825107 Refactor getBlockDescription() into a separate method in UtilsService. 2016-07-28 14:44:19 -07:00
Sean Lip 6d14be9d91 Always remove screenreader focus from block before pasting to one of its connections. 2016-07-26 13:56:57 -07:00
Sean Lip 8a9bae6587 Invoke a digest cycle after the DOM changes, so that the next node is correctly focused on after a top-level block deletion. 2016-07-26 13:45:23 -07:00
Sean Lip 7ad1897deb Use 'text' instead of 'string' as the aria-label for text fields. 2016-07-26 13:24:50 -07:00
Sean Lip 0e7e3547b9 Fix screenreader focus behaviour when pasting blocks. 2016-07-22 17:49:11 -07:00
Sean Lip 9e11acda49 Fix ids for field blocks. 2016-07-22 17:38:47 -07:00
Sean Lip 8d6ce713bd Remove unnnecessary aria-selected attributes. 2016-07-22 17:20:37 -07:00
Sean Lip af38cd1245 Clarify README to explain that Accessible Blockly can now be used with most screen readers and browsers. 2016-07-22 17:18:09 -07:00
Sean Lip 83759dbbee Declare field buttons declaratively. 2016-07-22 14:55:22 -07:00
Sean Lip e503835845 Use number input boxes for fields that accept numeric values. 2016-07-21 17:40:10 -07:00
Sean Lip c958cf5eaf When a block is pasted to a tree, set the active descendant of that tree to the newly-pasted block. 2016-07-21 17:28:58 -07:00
Sean Lip 869bda6495 Autoscroll to the current node when the active desc changes. 2016-07-21 17:12:10 -07:00
Sean Lip c4abbff496 Implement correct behaviour for copying a block from the toolbox to a marked spot. 2016-07-21 16:48:08 -07:00
Sean Lip 606a5e1d08 Clean up active desc properly when a tree is removed from the workspace. Handle tree and screenreader focus correctly for 'move to marked spot' operations. 2016-07-21 16:30:38 -07:00
Sean Lip 21f15aca48 Show alert when block is deleted. Prevent errors from happening when a block is deleted from a field. 2016-07-21 16:29:52 -07:00
Sean Lip c24bfda7cf Standardize naming convention for marked-spot methods. 2016-07-19 18:43:27 -07:00
Sean Lip 0de625caf4 Tidy up usage and formatting of aria-level (fixing an off-by-one error in the process). 2016-07-18 16:11:29 -07:00
Sean Lip b318eb6504 Implement correct keystroke handling for text input fields. 2016-07-15 16:54:03 -07:00
Sean Lip 311907cb6a Disable input fields in the toolbox. 2016-07-15 16:40:22 -07:00
Sean Lip be98f29e18 Add support for Home and End keys for navigating the toolbox and workspace trees. 2016-07-15 14:43:43 -07:00
Sean Lip cc6252cc00 Set activedescendant correctly on workspace trees. 2016-07-14 15:52:58 -07:00
Sean Lip 85f2ae8761 Set active descendant correctly for toolbox tree. Change roles to 'tree' where appropriate. 2016-07-14 11:50:05 -07:00
Sean Lip f30bcbc0e7 Fix connection compatibility rules. Use the previous connection when 'pasting above' a block that already has a previous block. 2016-07-01 15:55:51 -07:00
Sean Lip a8bfc38545 Forbid any ancestor of the block containing the marked connection from being moved to said connection. 2016-07-01 15:17:32 -07:00
Sean Lip 707c2149f1 Refactor workspace-tree: define the action buttons declaratively; simplify initial lifecycle code. 2016-06-30 18:19:31 -07:00
Sean Lip be664dcdb6 Make screenreader focus behave correctly when cutting, moving or deleting a block. Unmark the marked spot after a block has been moved or copied to it. 2016-06-30 14:52:12 -07:00
Sean Lip 63bb89108b Do not allow a block to be moved to a marked connection that it contains. Fix an error where block ids did not update when a new block is inserted in a list. 2016-06-28 18:28:47 -07:00
Sean Lip 5b63b9c193 Remove justFocusedIntoField_ special case. 2016-06-28 17:13:25 -07:00
Sean Lip ff90218c07 Clean up keystroke handling in treeService. 2016-06-28 16:41:18 -07:00
Sean Lip 6502ea5026 Remove unnecessary logging. 2016-06-20 15:05:39 -07:00
Sean Lip 3ca593273a Refactor how activeDescendant is set. Introduce helper functions to ensure that calls like pasteAbove() preserve the focus. 2016-06-17 17:42:51 -07:00
Sean Lip 850281501f Fix remaining focus issues on block deletion. 2016-06-16 17:29:21 -07:00
Sean Lip 019082b795 Fix tree focus issues. 2016-06-16 14:52:38 -07:00
Sean Lip 6c13b5c81b Change the TreeService to a singleton. 2016-06-13 17:58:13 -07:00
Sean Lip b75d3f7327 Standardize naming of components. 2016-06-10 19:22:14 -07:00
Sean Lip cafd180228 Unify setActiveDesc() and updateSelectedNode() in the TreeService. Move function calls made directly within the template to the correct hooks. 2016-06-10 19:03:23 -07:00
Sean Lip 11c00783f2 Consolidate the usages of the 'blockly-disabled' label. 2016-06-10 17:36:39 -07:00
Sean Lip 11b49930f9 Remove the unnecessary construction of new services. 2016-06-09 19:10:34 -07:00
Sean Lip c6517bc777 Remove unused functions and dependencies. 2016-06-09 18:45:00 -07:00
Sean Lip 50ddbbaee4 Introduce a common translation pipe; remove local stringMap attributes. Fix variable name error in paste functions. Minor linting. 2016-06-09 17:57:50 -07:00
Sean Lip 509e158c0b Remove shadow blocks from Accessible Blockly demo. Update README. 2016-06-09 16:53:10 -07:00