Variants can be associated with none, one or more than one language. Encoding Browser indicates preference with the Accept-Encoding header field. Each item can have a quality factor. Charset Browser indicates preference with the Accept-Charset header field. Each item can have a quality factor.
Variants can indicate a charset as a parameter of the media type.
This algorithm is not configurable. If no variants remain, go to step 4. Select the 'best' variant by a process of elimination. Each of the following tests is applied in order. Any variants not selected at each stage are eliminated.