         let leadingPaneAvailableWidth = availableWidth / 3
         let trailingPaneAvailableWidth = availableWidth - leadingPaneAvailableWidth
 
-        var leadingPaneOrigin = CGPoint(x: layoutMargins.left, y: layoutMargins.top)
-        var trailingPaneOrigin = CGPoint(x: layoutMargins.left + leadingPaneAvailableWidth, y: layoutMargins.top)
+        var leadingPaneOrigin = CGPoint(x: isRTL ? availableWidth - leadingPaneAvailableWidth : layoutMargins.left, y: layoutMargins.top)
+        var trailingPaneOrigin = CGPoint(x: isRTL ? layoutMargins.left : layoutMargins.left + leadingPaneAvailableWidth, y: layoutMargins.top)
 
         if timeLabel.wmf_hasText {
-            let timeLabelFrame = timeLabel.wmf_preferredFrame(at: leadingPaneOrigin, maximumWidth: leadingPaneAvailableWidth, alignedBy: .forceLeftToRight, apply: apply)
+            let timeLabelFrame = timeLabel.wmf_preferredFrame(at: leadingPaneOrigin, maximumWidth: leadingPaneAvailableWidth, alignedBy: semanticContentAttribute, apply: apply)
             leadingPaneOrigin.y += timeLabelFrame.layoutHeight(with: spacing * 2)
             timeLabel.isHidden = false
         } else {

                commentLabel.text = comment
            }
            // TODO: Make sure all icons have the same sizes
            let commentLabelFrame = commentLabel.wmf_preferredFrame(at: trailingPaneOrigin, maximumWidth: trailingPaneAvailableWidth, alignedBy: .forceLeftToRight, apply: apply)
            trailingPaneOrigin.y += commentLabelFrame.layoutHeight(with: spacing)
            commentLabel.isHidden = false
        } else {

        roundedContent.frame = CGRect(x: layoutMargins.left, y: 0, width: widthMinusMargins, height: bounds.height)
        editableContent.frame = CGRect(x: 0, y: 0, width: widthMinusMargins, height: bounds.height)

        let isRTL = effectiveUserInterfaceLayoutDirection == .rightToLeft
        let semanticContentAttribute: UISemanticContentAttribute = isRTL ? .forceRightToLeft : .forceLeftToRight

        if willStartEditing {
            let x = isRTL ? roundedContent.frame.maxX : 0
            selectView.frame = CGRect(x: x, y: 0, width: 30, height: bounds.height)
        } else if isEditing {
            let spaceOccupiedBySelectView = selectView.frame.width * 2
            let x = isRTL ? widthMinusMargins - spaceOccupiedBySelectView : roundedContent.frame.origin.x
            selectView.frame.origin = CGPoint(x: x, y: 0)
            selectView.layoutIfNeeded()
            let editableContentX = isRTL ? 0 : editableContent.frame.origin.x + spaceOccupiedBySelectView
            editableContent.frame = CGRect(x: editableContentX, y: 0, width: widthMinusMargins - spaceOccupiedBySelectView, height: bounds.height)
        } else {
            let x = isRTL ? roundedContent.frame.maxX : 0
            selectView.frame.origin = CGPoint(x: x, y: 0)
            editableContent.frame = CGRect(x: 0, y: 0, width: widthMinusMargins, height: bounds.height)
        }

