diff --git a/chrome/content/zotero/elements/zoteroSearch.js b/chrome/content/zotero/elements/zoteroSearch.js
index 0cdac238bf..12bbc9f628 100644
--- a/chrome/content/zotero/elements/zoteroSearch.js
+++ b/chrome/content/zotero/elements/zoteroSearch.js
@@ -50,8 +50,8 @@
@@ -261,10 +261,11 @@
// Build operator menu
for (let operator of operators) {
- operatorsList.appendItem(
+ let menuitem = operatorsList.appendItem(
Zotero.getString('searchOperator.' + operator),
operator
);
+ menuitem.setAttribute('type', 'radio');
}
// Build conditions menu
@@ -277,12 +278,14 @@
var menuitem = document.createXULElement('menuitem');
menuitem.setAttribute('label', condition.localized);
menuitem.setAttribute('value', condition.name);
+ menuitem.setAttribute('type', 'radio');
moreConditionsMenu.before(menuitem);
}
else {
var menuitem = moreConditionsMenu.appendItem(
condition.localized, condition.name
);
+ menuitem.setAttribute('type', 'radio');
}
var baseFields = null;
@@ -412,6 +415,8 @@
}
}
operatorsList.selectedIndex = selectThis;
+ // Setting `selected` does not change `checked`. Should explicitly set it.
+ operatorsList.selectedItem.setAttribute('checked', true);
// Generate drop-down menu instead of textbox for certain conditions
switch (conditionName) {
@@ -552,6 +557,7 @@
if (row.image) {
menuitem.className = 'menuitem-iconic';
menuitem.setAttribute('image', row.image);
+ menuitem.setAttribute('type', 'radio');
}
}
valueMenu.selectedIndex = 0;
@@ -909,9 +915,9 @@
-
-
-
+
+
+
@@ -942,6 +948,8 @@
}
}
menulist.selectedIndex = selectThis;
+ // Setting `selected` does not change `checked`. Should explicitly set it.
+ menulist.selectedItem.setAttribute('checked', true);
}
}
customElements.define("zoterosearchagefield", ZoteroSearchAgeField);
diff --git a/scss/mac/_menupopup.scss b/scss/mac/_menupopup.scss
index 3fe9b2154b..33749f5c32 100644
--- a/scss/mac/_menupopup.scss
+++ b/scss/mac/_menupopup.scss
@@ -63,6 +63,13 @@ menupopup {
}
}
+// Overwrite menulist rules
+menulist > menupopup > menuitem::after,
+menulist > menupopup > menuitem::before {
+ content: none;
+ padding-inline: 0;
+}
+
// Modified based on rules from https://searchfox.org/mozilla-esr102/source/browser/base/content/browser.css
/* On Mac, use the properties "-moz-window-transform" and "-moz-window-opacity"