def format_configdictfield_nodes(field_name, field, field_id, state, lineno):
    """Create a section node that documents a ConfigDictField config field.

    Parameters
    ----------
    field_name : `str`
        Name of the configuration field (the attribute name of on the config
        class).
    field : ``lsst.pex.config.ConfigDictField``
        A configuration field.
    field_id : `str`
        Unique identifier for this field. This is used as the id and name of
        the section node. with a -section suffix
    state : ``docutils.statemachine.State``
        Usually the directive's ``state`` attribute.
    lineno (`int`)
        Usually the directive's ``lineno`` attribute.

    Returns
    -------
    ``docutils.nodes.section``
        Section containing documentation nodes for the ConfigDictField.
    """
    # Valuetype links to a Config task topic
    value_item = nodes.definition_list_item()
    value_item += nodes.term(text="Value type")
    value_item_def = nodes.definition()
    value_item_def_para = nodes.paragraph()
    name = '.'.join((field.itemtype.__module__, field.itemtype.__name__))
    value_item_def_para += pending_config_xref(rawsource=name)
    value_item_def += value_item_def_para
    value_item += value_item_def

    dl = nodes.definition_list()
    dl += create_default_item_node(field, state)
    dl += create_field_type_item_node(field, state)
    dl += create_keytype_item_node(field, state)
    dl += value_item

    # Doc for this field, parsed as rst
    desc_node = create_description_node(field, state)

    # Title for configuration field
    title = create_title_node(field_name, field, field_id, state, lineno)

    return [title, dl, desc_node]