mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-08 03:08:29 +02:00

* improve details modal accessibility * improve tag modal accessibility * fix overlays in archive and shared pages * update tests * use buttons for closing dialogs * replace description list * hide preview image from screen readers * update tests
30 lines
899 B
JavaScript
30 lines
899 B
JavaScript
import { registerBehavior } from "./index";
|
|
import { isKeyboardActive } from "./focus-utils";
|
|
import { ModalBehavior } from "./modal";
|
|
|
|
class DetailsModalBehavior extends ModalBehavior {
|
|
doClose() {
|
|
super.doClose();
|
|
|
|
// Navigate to close URL
|
|
const closeUrl = this.element.dataset.closeUrl;
|
|
Turbo.visit(closeUrl, {
|
|
action: "replace",
|
|
frame: "details-modal",
|
|
});
|
|
|
|
// Try restore focus to view details to view details link of respective bookmark
|
|
const bookmarkId = this.element.dataset.bookmarkId;
|
|
const restoreFocusElement =
|
|
document.querySelector(
|
|
`ul.bookmark-list li[data-bookmark-id='${bookmarkId}'] a.view-action`,
|
|
) ||
|
|
document.querySelector("ul.bookmark-list") ||
|
|
document.body;
|
|
|
|
restoreFocusElement.focus({ focusVisible: isKeyboardActive() });
|
|
}
|
|
}
|
|
|
|
registerBehavior("ld-details-modal", DetailsModalBehavior);
|