             cell = setupToggleCell(indexPath: indexPath, navigationController: navigationController)
         case .search:
             if indexPath.row < 2 {
-                guard let searchCell = tableView.dequeueReusableCell(withIdentifier: "accessoryCell") as? SettingsTableViewAccessoryCell else { fatalError("Accessory cells do not exist") }
+                let searchCell = SettingsTableViewAccessoryCell(style: .value1, reuseIdentifier: "accessoryCell")
                 let autocompleteLabel = Settings.getToggle(.enableDomainAutocomplete) || Settings.getToggle(.enableCustomDomainAutocomplete) ? UIConstants.strings.autocompleteCustomEnabled : UIConstants.strings.autocompleteCustomDisabled
                 let labels : (label: String, accessoryLabel: String, identifier: String) = indexPath.row == 0 ?
                     (UIConstants.strings.settingsSearchLabel, searchEngineManager.activeEngine.name, "SettingsViewController.searchCell")

                cell = setupToggleCell(indexPath: indexPath, navigationController: navigationController)
            }
        case .siri:
            guard #available(iOS 12.0, *), let siriCell = tableView.dequeueReusableCell(withIdentifier: "accessoryCell") as? SettingsTableViewAccessoryCell else { fatalError("No accessory cells") }
            if indexPath.row == 0 {
                siriCell.labelText = UIConstants.strings.eraseSiri
                siriCell.accessibilityIdentifier = "settingsViewController.siriEraseCell"
                SiriShortcuts().hasAddedActivity(type: .erase) { (result: Bool) in
                    siriCell.accessoryLabel.text = result ? UIConstants.strings.Edit : UIConstants.strings.addToSiri
                }
            } else if indexPath.row == 1 {
                siriCell.labelText = UIConstants.strings.eraseAndOpenSiri
                siriCell.accessibilityIdentifier = "settingsViewController.siriEraseAndOpenCell"
                SiriShortcuts().hasAddedActivity(type: .eraseAndOpen) { (result: Bool) in
                    siriCell.accessoryLabel.text = result ? UIConstants.strings.Edit : UIConstants.strings.addToSiri
                }
            } else {
                siriCell.labelText = UIConstants.strings.openUrlSiri
                siriCell.accessibilityIdentifier = "settingsViewController.siriOpenURLCell"
                SiriShortcuts().hasAddedActivity(type: .openURL) { (result: Bool) in
                    siriCell.accessoryLabel.text = result ? UIConstants.strings.Edit : UIConstants.strings.add
                }
            }
            cell = siriCell

}

class SettingsTableViewAccessoryCell: SettingsTableViewCell {
    var labelText: String? {
        get { return textLabel?.text }
        set {
            textLabel?.text = newValue
        }
    }
    
    var accessoryLabelText: String? {
        get { return detailTextLabel?.text }
        set {
            detailTextLabel?.text = newValue
        }
    }

    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        textLabel?.numberOfLines = 0
        textLabel?.lineBreakMode = .byWordWrapping
        
        detailTextLabel?.numberOfLines = 0
        detailTextLabel?.lineBreakMode = .byWordWrapping

        selectionStyle = .none

        accessoryView = UIImageView(image: UIImage(systemName: "chevron.right"))
        tintColor = .secondaryText.withAlphaComponent(0.3)

    }

