diff --git a/accessible/field-segment.component.js b/accessible/field-segment.component.js index 0857c59e2..feb49f1ae 100644 --- a/accessible/field-segment.component.js +++ b/accessible/field-segment.component.js @@ -49,21 +49,15 @@ blocklyApp.FieldSegmentComponent = ng.core.Component({ `, diff --git a/accessible/media/accessible.css b/accessible/media/accessible.css index 67b15040a..500ee7323 100644 --- a/accessible/media/accessible.css +++ b/accessible/media/accessible.css @@ -43,8 +43,10 @@ .blocklyTree .blocklyActiveDescendant > div > label, .blocklyActiveDescendant > button, .blocklyActiveDescendant > input, +.blocklyActiveDescendant > select, .blocklyActiveDescendant > blockly-field-segment > label, -.blocklyActiveDescendant > blockly-field-segment > input { +.blocklyActiveDescendant > blockly-field-segment > input, +.blocklyActiveDescendant > blockly-field-segment > select { outline: 2px dotted #00f; } diff --git a/accessible/tree.service.js b/accessible/tree.service.js index de6cf26f9..4c2e24584 100644 --- a/accessible/tree.service.js +++ b/accessible/tree.service.js @@ -180,9 +180,6 @@ blocklyApp.TreeService = ng.core.Class({ } } }, - isButtonOrFieldNode_: function(node) { - return ['BUTTON', 'INPUT'].indexOf(node.tagName) != -1; - }, getNextActiveDescWhenBlockIsDeleted: function(blockRootNode) { // Go up a level, if possible. var nextNode = blockRootNode.parentNode; @@ -426,7 +423,7 @@ blocklyApp.TreeService = ng.core.Class({ // Enter key. The user wants to interact with a button, interact with // an input field, or open the block options modal. // Algorithm to find the field: do a DFS through the children until - // we find an INPUT or BUTTON element (in which case we use it). + // we find an INPUT, BUTTON or SELECT element (in which case we use it). // Truncate the search at child LI elements. var found = false; var dfsStack = Array.from(activeDesc.children); @@ -444,6 +441,10 @@ blocklyApp.TreeService = ng.core.Class({ 'Type a value, then press Escape to exit'); found = true; break; + } else if (currentNode.tagName == 'SELECT') { + currentNode.focus(); + found = true; + return; } else if (currentNode.tagName == 'LI') { continue; }