I've spent my entire career on the other side of hiring and I've yet to encounter a single valid excuse for not knowing, and subsequently not advertising, a salary range. Before you hire, you need to know if you can afford to hire. If you know you can afford to hire, you know what you can afford to pay. It really is that simple.
For example, when I buy a used car or a house, I know what my budget is. But I'm not telling the seller that upfront. Because my budget does not mean I want to pay the top end of the budget. I'd rather pay below my budget if I can.
The only excuse for forcing employers to do declare is that you want to hold them to a higher ethical standard. Not because there's no reason to do otherwise strategically.
Yeah I get the whole "if we advertise a range, everyone will demand the top of the range" argument. Unfortunately, that assumption has never held true.
In the US, the National Labor Relations Act covers this situation. The NLRB says that discussing wages/salaries is a covered "labor organizing activity" and it is a violation of the NLRA to prevent employees from discussing wages.
> If you are an employee covered by the Act, you may discuss wages in face-to-face conversations, over the phone, and in written messages. Policies that specifically prohibit the discussion of wages are unlawful as are policies that chill employees from discussing their wages. When using electronic communications, like social media, keep in mind that your employer may have policies against using their equipment for unauthorized use, though it is possible such policies could be unlawful.
> You may have discussions about wages when not at work, when you are on break, and even during work if employees are permitted to have other non-work conversations. You have these rights whether or not you are represented by a union.
https://www.nlrb.gov/about-nlrb/rights-we-protect/your-right...
29 USC 151-169 is the NLRA:
https://www.law.cornell.edu/uscode/text/29/chapter-7/subchap...
https://en.wikipedia.org/wiki/National_Labor_Relations_Act_o...
NLRB:
https://en.wikipedia.org/wiki/National_Labor_Relations_Board