Commit Graph

1196 Commits

Author SHA1 Message Date
Emma Dauterman
8211bb30f4 Workspace Factory (#522)
Workspace factory helps developers configure their workspace by allowing them to drag blocks into the workspace to add them to their toolbox. 
Current features:

supports categories or a single flyout of blocks
updates a preview workspace automatically
imports toolbox XML already written
exports toolbox XML to a file
prints toolbox XML to the console
imports a standard Blockly category
supports shadow blocks (allowing the user to move shadow blocks and toggle between shadow blocks and normal blocks), disabled blocks, block groups
allows the user to add/move/delete/rename/color categories and separators.
2016-08-10 11:03:11 -07:00
Tina Quach
9819d677a9 Blockly Factory: Block Library & Block Exporter (#530)
Created Blockly Factory, an expansion of the Block Factory demo that adds the Block Library and Block Exporter to the Block Factory. 

The Block Library provides the interfaces for the user to save their blocks to local storage so that upon opening and closing the page, their blocks will still persist. In Blockly Factory, Users can re-open saved blocks for edit through a dropdown interface, delete blocks from their library, clear their block library, and import and export their block library. Importing and exporting their block library may be useful for creating specific sets of in-progress blocks for editing.

The Block Exporter allows users to export block definitions and generator stubs of their saved blocks easily by using a visual interface powered by Blockly. It contains a selector workspace in which users add and remove blocks to the workspace to select and deselect them for export.
The exporter also contains an export settings form through which people may export block definitions and generator stubs.
2016-08-10 10:49:19 -07:00
Sean Lip
93af9c59b3 Add functionality for playing audio files. 2016-08-09 17:29:53 -07:00
rachel-fenichel
5aa3add06c Merge pull request #528 from drigz/test/domToWorkspace
Add a test for domToWorkspace
2016-08-09 11:11:53 -07:00
Rodrigo Queiro
ef55c29d52 Add a test for domToWorkspace
This would have caught a recent
[Scratch Blocks regression](https://github.com/LLK/scratch-blocks/pull/557)
where domToWorkspace failed unless given a WorkspaceSvg instance.
2016-08-09 15:50:34 +02:00
Sean Lip
7edbaf9ee2 Announce top-of-list, bottom-of-list, and current location in response to up/down/tab/shift-tab keypresses, where appropriate. 2016-08-05 17:52:02 -07:00
Sean Lip
afe3c63cab Do not intercept keystrokes that include Alt/Ctrl. 2016-08-05 17:26:23 -07:00
Sean Lip
78ae42b267 After marking a spot or copying a block in the workspace, move the active desc to the parent. 2016-08-05 17:20:41 -07:00
Sean Lip
f7b0c1b5e6 Move action menu below the block description. Edit the aria label to improve discoverability of the submenu. 2016-08-04 19:28:36 -07:00
Sean Lip
051d5bc099 Remove superfluous menus from toolbox. Use aria live region instead of alerts, and redo the text based on user feedback. Add a simple tutorial at the top of the demo page. 2016-08-04 19:04:13 -07:00
Sean Lip
e4b01dee44 Remove block input list breakdowns from the toolbox. 2016-08-04 16:45:25 -07:00
Neil Fraser
875ffad42c Fix selection bug on bumps caused by mutator actions. 2016-08-03 18:33:18 -07:00
Neil Fraser
d6d8b8eb97 Remove obsolete webkit CSS prefixes. 2016-08-03 18:33:18 -07:00
Neil Fraser
2be214ca74 Remove apparently unneeded scrub on procedures. 2016-08-03 18:33:18 -07:00
Sean Lip
d362c73a04 Allow a placeholder for empty fields to be specified when generating block descriptions. (#509)
* Allow a placeholder for empty fields to be specified when generating block descriptions.

* Correctly handle recursive block stringification.
2016-08-03 17:47:34 -07:00
Sean Lip
69c887c998 Use a shorter name for the toolbox category aria labels. 2016-08-03 14:57:45 -07:00
Sean Lip
9f22701a42 Remove disabled blocks from the accessible blockly demo. 2016-08-03 14:56:13 -07:00
Sean Lip
5268ca94b9 Use more descriptive ARIA labels for toolbox categories. 2016-08-02 18:06:55 -07:00
rachel-fenichel
a263e29abd Merge pull request #519 from evd2014/develop
Make Blockly.WorkspaceSvg.cleanUp public
2016-08-02 17:21:59 -07:00
Emma Dauterman
831a14e1e4 Made Blockly.WorkspaceSvg.cleanUp public 2016-08-02 17:18:12 -07:00
Sean Lip
baf8bc49fd Do a DFS to find the first available input field or button when the user presses the Enter key. 2016-08-02 16:43:27 -07:00
Sean Lip
caccf3fcf7 Use the correct closure when executing block actions. 2016-08-02 15:57:12 -07:00
rachel-fenichel
0765d9cbd6 Merge pull request #482 from svbatalov/toolbox-hscroll-patch-event
Scroll toolbox with LEFT/RIGHT in horizontalLayout
2016-08-02 12:44:16 -07:00
rachel-fenichel
ef6c99c465 Merge pull request #517 from quachtina96/prefer-json
Block Factory: set JSON to default language format for block definitions
2016-08-02 09:59:57 -07:00
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
quachtina96
ae8fedc496 set JSON to default language format for block definitions 2016-08-01 17:03:08 -07:00
picklesrus
51a6bd3873 Call Blockly.svgResize() once the div it is going to be placed in (#489)
knows what size it is going to be.
2016-07-30 23:26:53 -07:00
Jean-Michel DECORET
927cabe992 Develop - Modals support (#512)
* * apply bootstrap3 integration fixes

* Injection subcontainer

Include svg and div into a master container, which allow css better
positioning (overflow scrolling problem)

* * Fix toolbox positioning (rtl and ltr). Because toolbox if relative to injection div, only adjust it to left (ltr) or right (rtl) edge

* * fix style (thanks to @NeilFraser)

* * revert msg files
2016-07-30 20:36:35 -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
Neil Fraser
1aeb26860a Routine recompile. 2016-07-26 17:23:57 -07:00
Neil Fraser
f952cd9f2e Merge branch 'master' into develop 2016-07-26 17:22:25 -07:00
Hasso Tepper
b94dff049e Add Estonian translations to the code and plane demos (#505) 2016-07-26 17:20:54 -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
Niklas Laxström
ab0e847f41 Localisation updates from https://translatewiki.net. 2016-07-25 07:47:30 +02: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