Lines Matching refs:node

25  * Gets the text representation of a node. This allows us to substitute
27 * @param {Node} node A DOM node.
28 * @return {string} A text string representation of the node.
30 cvox.TraverseUtil.getNodeText = function(node) {
31 if (node.constructor == Text) {
32 return node.data;
39 * Return true if a node should be treated as a leaf node, because
46 * @param {Node} node A DOM node.
47 * @return {boolean} True if the node should be treated as a leaf node.
49 cvox.TraverseUtil.treatAsLeafNode = function(node) {
50 return node.childNodes.length == 0 ||
51 node.nodeName == 'SELECT' ||
52 node.getAttribute('role') == 'listbox' ||
53 node.nodeName == 'OBJECT';
82 range.setStart(start.node, start.index);
83 range.setEnd(end.node, end.index);
91 * Check if this DOM node has the attribute aria-hidden='true', which should
93 * @param {Node} node An HTML DOM node.
94 * @return {boolean} Whether or not the html node should be traversed.
96 cvox.TraverseUtil.isHidden = function(node) {
97 if (node instanceof HTMLElement &&
98 node.getAttribute('aria-hidden') == 'true') {
101 switch (node.tagName) {
122 // Move down until we get to a leaf node.
124 if (!cvox.TraverseUtil.treatAsLeafNode(cursor.node)) {
125 for (var i = cursor.index; i < cursor.node.childNodes.length; i++) {
126 var node = cursor.node.childNodes[i];
127 if (cvox.TraverseUtil.isHidden(node)) {
128 if (node instanceof HTMLElement) {
129 elementsEntered.push(node);
133 if (cvox.DomUtil.isVisible(node, {checkAncestors: false})) {
134 childNode = node;
140 cursor.node = childNode;
142 cursor.text = cvox.TraverseUtil.getNodeText(cursor.node);
143 if (cursor.node instanceof HTMLElement) {
144 elementsEntered.push(cursor.node);
149 // Return the next character from this leaf node.
154 while (cursor.node != null) {
157 for (var node = cursor.node.nextSibling;
158 node != null;
159 node = node.nextSibling) {
160 if (cvox.TraverseUtil.isHidden(node)) {
161 if (node instanceof HTMLElement) {
162 elementsEntered.push(node);
166 if (cvox.DomUtil.isVisible(node, {checkAncestors: false})) {
167 siblingNode = node;
172 if (cursor.node instanceof HTMLElement) {
173 elementsLeft.push(cursor.node);
176 cursor.node = siblingNode;
180 if (cursor.node instanceof HTMLElement) {
181 elementsEntered.push(cursor.node);
188 if (cursor.node.parentNode &&
189 cursor.node.parentNode.constructor != HTMLBodyElement) {
190 if (cursor.node instanceof HTMLElement) {
191 elementsLeft.push(cursor.node);
193 cursor.node = cursor.node.parentNode;
216 // Move down until we get to a leaf node.
218 if (!cvox.TraverseUtil.treatAsLeafNode(cursor.node)) {
220 var node = cursor.node.childNodes[i];
221 if (cvox.TraverseUtil.isHidden(node)) {
222 if (node instanceof HTMLElement) {
223 elementsEntered.push(node);
227 if (cvox.DomUtil.isVisible(node, {checkAncestors: false})) {
228 childNode = node;
234 cursor.node = childNode;
235 cursor.text = cvox.TraverseUtil.getNodeText(cursor.node);
239 cursor.index = cursor.node.childNodes.length;
240 if (cursor.node instanceof HTMLElement) {
241 elementsEntered.push(cursor.node);
246 // Return the previous character from this leaf node.
255 for (var node = cursor.node.previousSibling;
256 node != null;
257 node = node.previousSibling) {
258 if (cvox.TraverseUtil.isHidden(node)) {
259 if (node instanceof HTMLElement) {
260 elementsEntered.push(node);
264 if (cvox.DomUtil.isVisible(node, {checkAncestors: false})) {
265 siblingNode = node;
270 if (cursor.node instanceof HTMLElement) {
271 elementsLeft.push(cursor.node);
274 cursor.node = siblingNode;
279 cursor.index = cursor.node.childNodes.length;
281 if (cursor.node instanceof HTMLElement) {
282 elementsEntered.push(cursor.node);
288 if (cursor.node.parentNode &&
289 cursor.node.parentNode.constructor != HTMLBodyElement) {
290 if (cursor.node instanceof HTMLElement) {
291 elementsLeft.push(cursor.node);
293 cursor.node = cursor.node.parentNode;
336 (cvox.TraverseUtil.isHidden(endCursor.node))) {
353 // surrounding a skippable node.
399 (cvox.TraverseUtil.isHidden(startCursor.node))) {
429 * a string of 1 or more non-whitespace characters in the same DOM node.
448 (cvox.TraverseUtil.isHidden(cursor.node))) {
489 * a string of 1 or more non-whitespace characters in the same DOM node.
509 (cvox.TraverseUtil.isHidden(cursor.node)))) {
655 range.setStart(startCursor.node, startCursor.index);
656 range.setEnd(endCursor.node, endCursor.index);
665 endCursor.node))) {
701 range.setStart(startCursor.node, startCursor.index);
702 range.setEnd(endCursor.node, endCursor.index);
711 startCursor.node))) {