src/vs/workbench/contrib/terminal/browser/xterm/navigationModeAddon.ts/NavigationModeAddon/focusNextLine
class NavigationModeAddon:	focusNextLine(): void {
		if (!this._terminal || !this._terminal.element) {
			return;
		}

		// Focus previous row if a row is already focused
		if (document.activeElement && document.activeElement.parentElement && document.activeElement.parentElement.classList.contains('xterm-accessibility-tree')) {
			const element = <HTMLElement | null>document.activeElement.nextElementSibling;
			if (element) {
				element.focus();
				const disposable = addDisposableListener(element, 'blur', () => {
					this._navigationModeContextKey.set(false);
					disposable.dispose();
				});
				this._navigationModeContextKey.set(true);
			}
			return;
		}

		// Ensure a11y tree exists
		const treeContainer = this._terminal.element.querySelector('.xterm-accessibility-tree');
		if (!treeContainer) {
			return;
		}

		// Target is cursor row
		const targetRow = this._terminal.buffer.active.cursorY;

		// Check bounds
		if (treeContainer.childElementCount < targetRow) {
			return;
		}

		// Focus row before cursor
		const element = <HTMLElement>treeContainer.childNodes.item(targetRow);
		element.focus();
		const disposable = addDisposableListener(element, 'blur', () => {
			this._navigationModeContextKey.set(false);
			disposable.dispose();
		});
		this._navigationModeContextKey.set(true);
	}