Google Chrome=は、ユーザーがブラウザを下にスクロールしてもアクセシビリティ要素を更新しません( AutomationElement )。
再現するには:
"chrome --force-render-accessibility"
_を使用するか、_"chrome://accessibility"
_でグローバルアクセシビリティを設定します。強制的にChromeで更新できる手動のソリューションを見つけました。
chrome://accessibility/
_でアクセシビリティをオフにしてからオンに切り替えます私が探しているのは、これらの操作のいずれかをプログラムで実行する機能、またはChromeキャッシュツリーを更新できる操作)です。
私が試したもの:
PInvoke/MoveWindow
_でウィンドウのサイズを変更しますPInvoke/Redrawwindow
_でウィンドウを再描画chrome.tabs.setZoom(null, 0);
(動作しますが、点滅してウィンドウを遅くします)これらのどれも正常に動作していません。
[〜#〜] edit [〜#〜]:Googleでテスト済みChrome 40.XX、41.XX、42.XX、43 Windows 7での.XX、44.XX、45.XX、46.XX、47.XX.Dev、48.XX.Dev.
単純なページのスクロールは、レンダラーからの計算を必要としないように最適化されています。コンポジターとGPUのみがスクロールに必要であるため、レンダラーからのみ更新されるレンダーツリーは同じままです。
レンダラーがスクロール中にDOMをトラバースし、アクセシビリティツリーを更新する必要があるのは、タッチデバイス専用のスムーズなスクロールを実現するための数年の努力とは逆に実行されるため、バグの修正に引っかかることはないと思います。
拡張機能についてのあなたの考えは、最良の(oughい)妥協だと思います。しかし、ズームを変更するよりも、ページ(またはDOM)を少し変更する方がより良い解決策になる可能性があります。たとえば、zオーダーの低い不可視(またはほぼそう)な要素を追加してみてください。また、突然変異をレート制御する必要があります。これにより、1秒あたり1回だけ、またはさらに頻繁に発生しなくなります。