In several standards certain terms are used to denote the requirements and recommendations. Often people while interpreting the standards do not pay much attention to them. Use of each word is carefully chosen while drafting the standards. Being in the W3C WCAG and ARIA working groups in the past, I had the opportunity to work with such great minds.
Let us see some of such keywords from RFC 2119.
This document specifies an Internet Best Current Practices for the
Internet Community, and requests discussion and suggestions for
improvements. Distribution of this memo is unlimited. Full RFC 2119 is available online.
Use of “Must”
Use of the words “must”, “required” or “shall” means the definition is an absolute requirement of the specification. These words are not or cannot be used when there are multiple ways of solving a problem within the specifications.
Use of “Must not”
The use of the terms “must not” or “shall not” means that the definition is an absolute prohibition of the specification. Authors must use these words only when something have to be strictly prohibited in while using the specifications.
Use of Should
The term should or the adjective recommended is not a strict way of imposing something. It also means that there may be more than one strict way of obeying certain specification. Since use of should also means to ignore certain call outs, there should be a valid reason for doing so.
Use of should not
The term “should not” or “not recommended” need to be used in circumstances where a particular process or method is not the right way to do something.
Use of “May”
Use of the term “May” or the adjective “optional” means something is truly optional. While filling a form, if a field is marked optional, it means the user may or may not fill it. Similar case even in the specifications.
In any internet specifications if the terms “must” and “must not” are used, that means the rule is strict and absolute. If the term “should” is used, then the rule is not necessarily abide in the same terms. Any alternate that satisfies the rule can be used instead. Hence the rules marked “should” are not absolute.
Use of “should not” is equal to “not recommended”. However the rule or technique be still be used with a well thought and a meaningful justification. The use of the term “May” means the rule or technique is completely optional.