---
title: Dialog Description Keys
framework: Core Foundation
role: collectionGroup
role_heading: API Collection
path: corefoundation/dialog-description-keys
---

# Dialog Description Keys

Keys used in a user notification’s description dictionary, which describes the contents of the notification dialog to display.

## Overview

Overview When creating the user notification with CFUserNotificationCreate(_:_:_:_:_:), the description dictionary must have a value for kCFUserNotificationAlertHeaderKey. All other keys are optional. The button title keys must be given in right-to-left order—you therefore must use the kCFUserNotificationDefaultButtonTitleKey constant for the rightmost button even if it is conceptually not a “default” button (for example, if you want a single “Cancel” button that should not have color, should not pulse, and should not have return for a key equivalent). If, however, you set the kCFUserNotificationNoDefaultButtonFlag, the rightmost button does not behave as a default button (although it will still be the “default” button in the sense of using kCFUserNotificationDefaultButtonTitleKey and kCFUserNotificationDefaultResponse). The following code fragment shows how you can create a notification that contains a single “Cancel” button that does not behave as a default button. const void* keys[] = {kCFUserNotificationAlertHeaderKey,                       kCFUserNotificationProgressIndicatorValueKey,                       kCFUserNotificationDefaultButtonTitleKey}; const void* values[] = {CFSTR("Progress"),                         kCFBooleanTrue,                         CFSTR("Cancel")}; CFDictionaryRef parameters = CFDictionaryCreate(0, keys, values,         sizeof(keys)/sizeof(*keys), &kCFTypeDictionaryKeyCallBacks,         &kCFTypeDictionaryValueCallBacks); SInt32 err = 0; CFUserNotificationCreate(kCFAllocatorDefault, 0,         kCFUserNotificationPlainAlertLevel | kCFUserNotificationNoDefaultButtonFlag,         &err, parameters); If you set the kCFUserNotificationNoDefaultButtonFlag flag and do not specify a value for kCFUserNotificationDefaultButtonTitleKey, the notification will have no buttons.

## Topics

### Constants

- [kCFUserNotificationIconURLKey](corefoundation/kcfusernotificationiconurlkey.md)
- [kCFUserNotificationSoundURLKey](corefoundation/kcfusernotificationsoundurlkey.md)
- [kCFUserNotificationLocalizationURLKey](corefoundation/kcfusernotificationlocalizationurlkey.md)
- [kCFUserNotificationAlertHeaderKey](corefoundation/kcfusernotificationalertheaderkey.md)
- [kCFUserNotificationAlertMessageKey](corefoundation/kcfusernotificationalertmessagekey.md)
- [kCFUserNotificationDefaultButtonTitleKey](corefoundation/kcfusernotificationdefaultbuttontitlekey.md)
- [kCFUserNotificationAlternateButtonTitleKey](corefoundation/kcfusernotificationalternatebuttontitlekey.md)
- [kCFUserNotificationOtherButtonTitleKey](corefoundation/kcfusernotificationotherbuttontitlekey.md)
- [kCFUserNotificationProgressIndicatorValueKey](corefoundation/kcfusernotificationprogressindicatorvaluekey.md)
- [kCFUserNotificationPopUpTitlesKey](corefoundation/kcfusernotificationpopuptitleskey.md)
- [kCFUserNotificationTextFieldTitlesKey](corefoundation/kcfusernotificationtextfieldtitleskey.md)
- [kCFUserNotificationCheckBoxTitlesKey](corefoundation/kcfusernotificationcheckboxtitleskey.md)
- [kCFUserNotificationTextFieldValuesKey](corefoundation/kcfusernotificationtextfieldvalueskey.md)
- [kCFUserNotificationPopUpSelectionKey](corefoundation/kcfusernotificationpopupselectionkey.md)

## See Also

### Constants

- [Alert Levels](corefoundation/1534483-alert-levels.md)
- [Response Codes](corefoundation/1534504-response-codes.md)
- [Button Flags](corefoundation/1534481-button-flags.md)
- [Alert Levels](corefoundation/1534483-alert-levels.md)
- [Response Codes](corefoundation/1534504-response-codes.md)
- [Button Flags](corefoundation/1534481-button-flags.md)
