A symbol whose name starts with a colon (‘:’) is called a “keyword
symbol”. These symbols automatically act as constants, and are normally
used only by comparing an unknown symbol with a few specific
alternatives. *Note Constant Variables::.
(info "(elisp) Constant Variables")
In Emacs Lisp, certain symbols normally evaluate to themselves. These
include ‘nil’ and ‘t’, as well as any symbol whose name starts with ‘:’
(these are called “keywords”). These symbols cannot be rebound, nor can
their values be changed. Any attempt to set or bind ‘nil’ or ‘t’
signals a ‘setting-constant’ error. The same is true for a keyword (a
symbol whose name starts with ‘:’), if it is interned in the standard
obarray, except that setting such a symbol to itself is not an error.