All buttons on every screen in the web staff client need to be properly labeled for screen readers such as JAWS to be able to determine what they are for.
Example 1:
On the patron edit screen, the Calendar icon for Privilege Expiration Date is a button but it does not have a name, so JAWS just reads it as "button."
Example 2:
On the patron edit screen, the buttons to delete addresses are read by JAWS as "X" with no indication of what they are for.
When naming these buttons, the name should be considered for how it will sound through JAWS as well, keeping in mind that JAWS users usually have the audio sped up so that they can navigate more quickly. For example, a button that says "Done" ends up sounding like "Da Button" when read quickly through JAWS, which isn't quite as understandable as "Submit Button" or other alternatives might be.
Here are two more examples I found through grepping for buttons that contain no text, aria-label attribute, or title attribute.
Administration interface
* [X] buttons in Administration > Workstation Administration > Stored Preferences
Throughout the Web client
* downward caret icon that toggles the column picker dropdown
As far as solutions go, I happened to notice a text-less button that seems really nicely labeled for a screen-reader. In the MARC Editor, there are buttons that open up the authority linking interface. Each of these <button> tags has a nice aria-label attribute "Manage authority record links". I'm away from my computer with NVDA on it, but I suspect that this would be very helpful to folks using NVDA with various browsers.
Side note: some of these buttons might also benefit from a title attribute, which would provide some explanation of the button when a user hovers their mouse over it. As an example, I didn't intuitively grasp the purpose of the title picker downward caret button the first time I saw the Web client.