我正在制作一个网络应用程序,其中包含一个隐藏的侧边栏,通过从右侧移动出现。实现这一点的最明显方法是overflow: hidden;
在父元素上隐藏屏幕外的侧边栏,并使用 css 转换为right
属性设置动画,以便在用户按下按钮时显示。
但是,我发现即使overflow: hidden;
禁用了滚动条,用户也可以通过使用 Ctrl+F 将父元素滚动到侧边栏,或者在侧边栏上的元素应该隐藏在屏幕外时使用 Tab 键,推动一些主应用程序在屏幕外。
虽然这不是一个特别大的问题(它可以通过再次切换侧边栏来解决),但这显然是不可取的,我还没有找到处理它的好方法。
我可以使用 javascript 来侦听要在侧边栏上transitionend
设置的事件,visibility
以便hidden
在侧边栏隐藏时无法选择文本,但是用户仍然可以在转换发生时执行此操作,并且无论如何都可以在屏幕外滚动。
我还可以将所有文本放在伪元素中并添加tabindex="-1"
所有可聚焦元素,这样就没有任何东西可以选择了,但这似乎超出了顶部并且也很混乱,不允许用户按 Ctrl+F 或 Tab 键切换到侧边栏上的元素当它可见时,这是不可取的。
我也可以让侧边栏从左侧而不是右侧出现,但我宁愿先看看是否有更好的方法来执行此操作,而不是更改应用程序的整个设计。
如果这已在其他地方得到解决,我深表歉意,但我四处搜索并没有发现任何与我的问题有关的内容。