While sharing salary information is often discouraged by employers, in the province of British Columbia, Canada, are employers legally allowed to punish (e.g. fire, reprimand, etc.) an employee who shares wage/salary information with their colleagues? Is there legislation that prevents this and would that legislation overrule any potentially conflicting clauses in an employment contract?
Note that a very similar question was asked previously regarding laws in Canada. However, most employment is regulated provincially and, at the time of writing, the only answer to that question relies on a law from a different province (Ontario) and so is not relevant in BC.
For the purpose of this question, you are welcome to assume that the employer/employee is not in a federally regulated industry (i.e. that they are in a provincially regulated industry).