Skip to content

Commit e86ec28

Browse files
flow: page auto focus regression fix + e2e test (#1352)
1 parent ad39271 commit e86ec28

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
<commonmark.version>0.23.0</commonmark.version>
137137
<antlr.version>4.5</antlr.version>
138138
<jackson.version>2.19.1</jackson.version>
139-
<webtau.version>2.2</webtau.version>
139+
<webtau.version>2.4</webtau.version>
140140
<jaxb.version>2.3.0</jaxb.version>
141141
<ant.version>1.10.11</ant.version>
142142
<ant-compress.version>1.5</ant-compress.version>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* Fix: Focus page content on page open or search open regression

znai-reactjs/src/layout/DocumentationLayout.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
import React, { useRef, useState } from "react";
17+
import React, { useEffect, useRef, useState } from "react";
1818

1919
import TocPanel from "./TocPanel";
2020
import { PageGenError } from "../doc-elements/page-gen-error/PageGenError";
@@ -93,6 +93,12 @@ export function DocumentationLayout({
9393

9494
const panelFullClassName = mainPanelClassName + (isMobile ? " mobile" : "");
9595

96+
useEffect(() => {
97+
if (contentRef.current) {
98+
contentRef.current.focus();
99+
}
100+
}, [selectedTocItem]);
101+
96102
return isMobile ? renderMobile() : renderDesktop();
97103

98104
function renderPageContent() {

znai-tests/src/test/groovy/scenarios/docsContent.groovy

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ scenario('table of contents navigation') {
5959
browser.title.should == "Your Product: Page Three"
6060
}
6161

62+
scenario('main content should have focus on page load and after navigation') {
63+
browser.open(scaffoldServerUrl.get() + '/my-product/chapter-one/getting-started')
64+
standardView.pageTitle.waitTo == "Getting Started"
65+
browser.sendKeys(browser.keys.pageDown)
66+
standardView.mainPanelScrollTop.waitToBe > 100
67+
}
68+
6269
scenario('navigating back and forth should preserve scroll position') {
6370
standardView.gettingStartedTocItem.click()
6471
standardView.metaSection.waitTo visible

0 commit comments

Comments
 (0)