To ensure that Userlane will run smoothly on your app, follow these guidelines as much as possible.
The underlying app does not use a plugin such as Adobe Flash or Microsoft Silverlight.
The underlying app does not register event callbacks in capture mode.
The underlying app does not remove DOM nodes that it does not recognize, especially DOM nodes added by Userlane need to remain untouched.
The underlying app does not modify native browser functions, for example with polyfills or XHR overrides.
The underlying app does not use framesets, or does not expect Userlane to highlight elements in a frameset.
The maximum z-index of the underlying app does not exceed 1,000,000.
Integrate the basic Userlane JS Snippet. Read more about this here.
Handover of relevant user data, e.g. permissions of the current user, to the Userlane JS Snippet API. This allows you to show Guides more targeted to the end-users. Read more about this here.
Do not use hover actions or make hover actions also accessible via click. When a hover menu closes on mouseleave that can cause issues in highlighting the elements reliably for Userlane.
Use relevant URLs that allow knowing what page the user is currently seeing. This helps you to show Guides specific to the page the user is currently looking at.
Include semantic identifiers to relevant elements.
We recommend using data-automation-id, data-test-id, data-userlane-id, data-userlane-role, or data-action-name attributes with semantic names (e.g. “createTutorialButton”, “deleteUserAction”). This helps you to make Userlane more stable regarding any updates in the HTML code of the application.